美文网首页编程世界
MySQL数据库迁移

MySQL数据库迁移

作者: wqq0916 | 来源:发表于2017-11-18 22:14 被阅读74次

例子:IP为192.168.119.10的MySQL数据库wqq ,用户名:lml,密码:lml123,要求把该数据库wqq迁移到10.11.25.20,数据库名称仍为wqq,用户名改为test,密码改为test123
步骤:

  • 登录10.11.25.20
  • 在mysql中先创建用户test、数据库wqq,并赋予用户test对数据库wqq的权限
mysql -uroot -p
create database wqq default charset=utf8;
grant all on wqq.* to 'test'@'%' identified by  'test123';
flush privileges;
exit
  • 用mysqldump导出IP为192.168.119.10主机的mysql数据库wqq 到本地,然后恢复。
useradd wqq
passwd wqq
cd ~wqq
mysqldump -h192.168.119.10 -ulml -p --default-character-set=utf8  wqq> wqq.sql;
mysql wqq < wqq.sql;

备注:以上为全部步骤,下面为相关知识点,可不看


1. 查看系统默认的客户端字符集

mysqld --verbose --help|grep 'default-character-set'|grep -v name

2. 创建数据库(字符集为utf8)

create database zmock default charset=utf8;

若/etc/my.cnf中已设置如下,使用语句create database wqq;,即可实现创建字符集为utf8的数据库wqq。

/etc/my.cnf
  • collation-server=utf8_bin可通过命令show variables like 'collation_database';查询

    Paste_Image.png
  • character-set-server=utf8可通过命令show variables like 'character_set_database';查询

Paste_Image.png
  • bind-address=0.0.0.0作用:使客户端从任何主机IP可以登录MySQL

3. 创建用户、密码以及权限

grant all on wqq.* to 'test'@'%' identified by  'test123';

创建密码为test123的用户test,并授予该用户在任何主机IP登录时,均拥有数据库wqq所有数据表所有权限

4. 查看用户的权限

show grants for wqq;

5. 刷新

flush privileges;

6. 导出数据

mysqldump -h192.168.119.10 -uwqq -p --default-character-set=utf8 wqq> wqq.sql;

备注:

  • -uwqq 中的wqq为主机IP192.168.119.10中MySQL中的用户名,且该用户需对该数据库wqq拥有权限,并不是主机IP的用户名。
  • 运行该语句之后会提示输入密码,应输入主机IP192.168.119.10中mysql中的用户名为wqq的密码,而不是主机IP192.168.119.10的登录用户wqq的密码。
  • 在不知道对方数据库用户名的密码的情况下,若使用命令mysqldump时,可以先在数据库所在的主机IP上临时创建一个管理员账户(记得删), 管理员账号的设置如下:
    grant all on *.* to 'admin'@'%' identified by 'adminwqq';
    创建密码为adminwqq的用户admin,在任何主机IP上登录时,均拥有所有数据库所有数据库所有数据表所有权限
mysqldump -h192.168.119.10 -uadmin -p --default-character-set=utf8 wqq> wqq.sql;

7. 恢复数据

mysql wqq < wqq.sql;

8. 显示数据表的基本结构

describe mysql.user; 显示数据库mysql数据表use的表结构
use wqq;
show tables; 展示数据库apitest_mgmt_uat的表信息
drop database wqq; 删除数据库metric_mgmt_prd
drop user admin@'%'; 删除用户admin

192.168.119.10上建立grant all on jira.* to 'jira'@'%' identified by 'jira123';

用户jira除了不能在本地登录,可以通过任何主机IP连接数据库jira
在10.11.25.20连接192.168.119.10的数据库jira:mysql -h192.168.119.10 -ujira -p

grant all on jira.* to 'jira'@'localhost' identified by 'jira123';

可实现用户jira在本机连接数据库jira:mysql -ujira -p

相关文章

网友评论

    本文标题:MySQL数据库迁移

    本文链接:https://www.haomeiwen.com/subject/wemyvxtx.html