MySQL主从(Master-Slave)同步快速部署

2022-12-23 18:57:37 浏览数 (1)

Master:192.168.1.1 Slave:192.168.1.2

Master端:

vi /etc/my.cnf

server-id = 1  #master端ID号 binlog-ignore-db = mysql  #不同步mysql库 binlog-ignore-db = test  #同上 binlog-ignore-db = information_schema  #同上

/usr/local/mysql/bin/mysql -uroot -p mysql>grant replication slave on *.* to slave@’192.168.1.2′ identified by ‘123456’; mysql>flush privileges; mysql>flush tables with read lock;  #只读锁表 mysql>show master status;  #获取并记录下当前日志file和position的值,稍后Slave端需要用到 File             | Position  | —————— ———- | mysql-bin.000001 | 291392712

另开一个终端窗口,然后执行如下的操作:

tar zcvf /usr/local/mysql/var.tgz /usr/local/mysql/var  //将var目录打包 scp /usr/local/mysql/var.tgz root@192.168.1.2:/usr/local/mysql/var.tgz  //将文件包传至Slave端

完成后回到前一个终端窗口解锁只读。

mysql>unlock tables;

Slave端:

vi /etc/my.cnf server-id = 2  #Slave的ID号,此处不能与到Master端的ID重复。 保存退出。

service mysqld stop 或 /usr/local/mysql/bin/mysqladmin -uroot -p shutdown

tar zxvf /usr/local/mysql/var.tgz /usr/local/mysql/var

chown -R mysql:mysql /usr/local/mysql/var

service mysqld start

/usr/local/mysql/bin/mysql -uroot -p

mysql>stop slave;

mysql>change master to >master_host=’192.168.1.1′, >master_user=’slave’, >master_password=’123456′, >master_log_file=’mysql-bin.000001′,    此前记录下的Master端file值 >master_log_pos=291392712;    此前记录下的Master端position值

mysql>start slave;

mysql>show slave status G

查看上面命令返回的结果,如果Slave_IO_Running: Yes 和Slave_SQL_Running: Yes  2个均为yes,则证明主从同步正常,如果任一个显示NO,则证明同步有问题。

0 人点赞