繁体   English   中英

如何使用mysql数据存储库在OpenShift v3中导入mysql数据库(schema.sql)?

[英]How to import mysql database (schema.sql) in OpenShift v3 with mysql datastore?

在使用OpenShift v2之前,将mysql模式导入到应用程序是很容易的。 我将向My OpenShift应用程序中添加一个phpMyadmin盒式磁带,然后导入我的sql文件。 但是现在在OpenShift v3中,它们没有phpMyadmin墨盒。

如果我理解正确,则要将MySQL数据库应用程序从OpenShift版本2(v2)迁移到OpenShift版本3(v3)。 如果是这样,请执行以下步骤:

将所有数据库导出到转储文件并将其复制到本地计算机(到当前目录):

$ rhc ssh <v2_application_name>
$ mysqldump --skip-lock-tables -h $OPENSHIFT_MYSQL_DB_HOST -P ${OPENSHIFT_MYSQL_DB_PORT:-3306} -u ${OPENSHIFT_MYSQL_DB_USERNAME:-'admin'} \
 --password="$OPENSHIFT_MYSQL_DB_PASSWORD" --all-databases > ~/app-root/data/all.sql
$ exit

将dbdump下载到本地计算机:

$ mkdir mysqldumpdir
$ rhc scp -a <v2_application_name> download mysqldumpdir app-root/data/all.sql

从模板创建一个v3 mysql-persistent pod:

$ oc new-app mysql-persistent -p \
   MYSQL_USER=<your_V2_mysql_username> -p \
   MYSQL_PASSWORD=<your_v2_mysql_password> -p MYSQL_DATABASE=<your_v2_database_name>

检查吊舱是否可以使用:

$ oc get pods
When the pod is up and running, copy database archive files to your v3 MySQL pod:

$ oc rsync /local/mysqldumpdir <mysql_pod_name>:/var/lib/mysql/data

在v3运行的pod中还原数据库:

$ oc rsh <mysql_pod>
$ cd /var/lib/mysql/data/mysqldumpdir

在v3中,要还原数据库,您需要以root用户身份访问MySQL。

在v2中,$ OPENSHIFT_MYSQL_DB_USERNAME在所有数据库上都具有完全特权。 在v3中,必须为每个数据库授予$ MYSQL_USER特权。

$ mysql -u root
$ source all.sql
Grant all privileges on <dbname> to <your_v2_username>@localhost, then flush privileges.

从pod中删除转储目录:

$ cd ../; rm -rf /var/lib/mysql/data/mysqldumpdir

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM