常见问题

如何访问MySQL实例?

  • 命令行操作

通过MySQL Client访问,登录云主机,在命令行中输入:

mysql -h$IP -P$Port -u$User -p$Password

$IP指定MySQL实例的内网IP地址。

$Port指定MySQL实例的端口。

$User指定MySQL实例的管理员名称。

$Password指定MySQL实例的管理员密码。

MySQL实例仅支持通过云主机进行内网登陆。

如何向MySQL实例中导入数据?

  • 命令行操作

将需要导入的数据文件上传至云主机,在云主机中执行如下命令:

mysql –h$IP -P$Port –u$User -p$Password < data.sql

data.sql是指用户备份文件。

由于通过控制台导入数据有文件大小的限制,因此对于大文件,建议用户使用命令行导入数据。

注意:

Dump源数据库时,仅导出业务相关的库表,请过滤掉mysql/information_schema/performance_schema基础库。

若全库导入,会覆盖MySQL实例原有基础库,影响后续使用。

如果需要导入的数据中存在View或存储过程,需替换掉sql文件里的user@host为拥有正确权限的用户,如’root’@’%’,否则可能无法导入和正常使用。

如何向MySQL实例中导出数据?

以下操作不会锁库:

mysql –h$IP -P$Port –u$User -p$Password --quick --routines --single-transaction --databases db1 db2 db3 > data.sql

single-transaction可以保证InnoDB表的一致性,但MyISAM表无法保证一致性。如果有MyISAM表,可在业务低估时,进行锁库导出:

mysql –h$IP -P$Port –u$User -p$Password --master-data=2 -l –-databases db1 db2 db3 > data.sql

注意:dump导出时仅导出业务相关的库表。

如何创建新用户并授予权限?

  • phpMyAdmin操作

登录phpMyAdmin,点击添加用户,输入用户名、域和密码;如果域为’%’,在主机一栏选择“任意主机”; 如果指定某网段,选择“使用文本域”,然后输入对应的值,再勾选所需权限,完成后,点击“添加用户”即可。

  • 命令行操作

命令行操作请使用grant命令。

例:增加与root同样权限的用户”test@%”,密码123456。

用户使用root账号登陆云数据库,执行show grants,得到root权限语句:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,PROCESS,REFERENCES,INDEX,ALTER,SHOW DATABASES,CREATE TEMPORARY 
TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER 
ROUTINE,CREATE USER,EVENT,TRIGGER ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*xxxxxx' WITH GRANT OPTION

将该语句复制下来,然后替换语句中的用户名、域和密码串,执行修改后的授权语句:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,PROCESS,REFERENCES,INDEX,ALTER,SHOW DATABASES,CREATE TEMPORARY
TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER
ROUTINE,CREATE USER,EVENT,TRIGGER ON *.* TO 'test'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

刷新权限表

flush privileges;