例子: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。
-
collation-server=utf8_bin
可通过命令show variables like 'collation_database';
查询
character-set-server=utf8
可通过命令show variables like 'character_set_database';
查询
-
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