老版本方法创建mysql用户
#mysql5.7之前版本,新建并赋权限 grant replication slave on *.* to 'dba'@'192.168.25.%' identified by '123456';
查看警告
show warnings;之后发现这个创建用户的方法已经被抛弃,将来版本可能被移除
删除mysql用户
drop user 'dba'@'192.168.25.%';
查看mysql中的用户
select user,host from mysql.user;
新建用户
在master服务器上新建用户,登录mysql后执行以下语句
create user 'dba'@'192.168.25.%' identified by '123456'; #新建用户,允许登录的ip地址段:192.168.25.% 用户名:dba 密码:123456 grant replication slave on *.* to dba@'192.168.25.%'; #赋权限
备份Master数据
首先vi /etc/my.cnf添加如下两行
log-bin=mysql-bin
server-id=4
cd /tmp #备份到tmp文件夹下
#备份到文件all.sql
mysqldump --single-transaction --master-data=2 --triggers --routines --all-databases -uroot -p -h 192.168.25.4 > all.sql
将备份的all.sql复制到从服务器上
scp all.sql [root@]192.168.25.5:\tmp[\all.sql]
Slaver数据库备份数据还原
mysql -uroot -p -h 192.168.25.5 < all.sql
主从配置
more all.sql
登录后执行以下语句
change master to master_host='192.168.25.4', #主服务器ip master_user='dba', #主服务器建的主从复制mysql用户 master_password='123456', #主从复制用户名密码 master_log_file='mysql-bin.000005', #mysqldump的备份文件中有 master_log_pos=129058; #mysqldump的备份文件中有
这就完成了主从复制的配置,查看主从配置
show slave status \G;
发现Slave_IO_Running和Slave_SQL_Running进程都没有启动,启动进程
start slave;
如果某个进程启动失败,查看Last_IO_Error会有提示(例如:防火墙开了连接不上,虚拟机克隆mysql的pid一样需要重新initialize等)