环境: vmwareworkstation 10下布署两台Linux虚拟机作主,从服务器主机:
主服务器:centos 7.6 mysql 5.6.45-log IP:10.11.18.190
从服务器:centos 7.6 mysql 5.6.45-log IP:10.11.18.193
主服务器test数据库
一:配置主服务器:
1:创建一个复制用户,具有replication slave 权限。
Mysql>grant replication slave on . to ‘slaveuser’@’10.11.18.193’ identified by ‘123456’;
Mysql>flush privileges;
2::重新启动mysql数据库:
Service mysqld restart
3 :设置表锁定
Mysql>flush tables with read lock;
4 :备份要同步的数据库:
[[email protected]~]Mysqldump –hlocalhost –uroot –p3306 –p test > /home/test.sql
5 :解除表锁定:
Mysql>unlock tables;
6 :将备份的数据库恢复到从服务器上:
[[email protected] home]scp test.sql [email protected]:/home
7 :查看主服务器数据库现在的状态(这个在从服务器配置中要用到)
mysql>show master statusG;
二:配置从服务器:
1:将master(10.11.18.190)备份的数据库恢复到slave(10.11.18.193)从服务器上
1) 先建一个test数据库:
Mysql>create test;
2) 恢复数据库数据到test库:
[[email protected] home]mysql –uroot –p(进入数据库)
Mysql>use test;
Mysql>set names utf8;
Mysql>source test.sql;
2 :对数据库进行相应设置:
Mysql>change master to master_hsot=’10.11.18.190’,master_user=’slaveuser’,
Master_password=’123456’,master_log_pos=382,master_log_file=
‘mysql-bin.000007’;
3 :查看从服务器数据库状态:
Mysql>show slave statusG;
Slave_IO_Running:yes
Slave_sql_Running:yes
以上这两项必须是yes状态,表示slave 与master连接成功,
若slave_io_running:connecting 有可能是master的防火墙影响,关闭防火墙再测试。
三:测试:
1:去master服务器登陆mysql,在test库下创建一个表:
Mysql>create table test01 (id int not null,var char (20));
2 :再去slave 从服务器上登陆数据库查看是否同步:
可以看到此时slave从服务器上的test 库中的表已经和master主服务器上的表同步成功。