mysql主从复制

环境:

master:192.168.83.157

slave:     192.168.83.158

主master:

1.创建数据库

create database demo;

2.修改配置文件/etc/my.cof:

[mysqld]

log-bin=/var/log/mysql/mysql--bin    #日志文件名称

binlog-format=ROW                      #二进制日志格式

server-id=157                               #各个服务器的id要求不一样,一般用主机IP地址最后几位

2.创建日志目录并授权

mkdir /var/log/mysql/

chown mysql.mysql /var/log/mysql

3.配置从服务器登录主服务器的账号授权

grant replication slave on *.* to 'root'@'192.168.83.153    ' identified by 'qwe123!@#MJ';

4.重启主服务器

systemctl restart mysqld.service

#查看状态,如下图

mysql> show master status;


5.授权远程登录

grant all privileges on *.* to 'root'@'%' identified by 'qwe123!@#MJ' with grant option;

slave从:

如果master中已经存在数据,那么先对master中的数据进行备份,在slave中进行还原具体步骤如下

#1.在master中进行备份,并将备份发送到slave

mysqldump -uroot -p 数据库名称[demo] > /root/备份文件名称[demo.sql]

#2.将demo.sql发送到slave

scp /root/demo.sql root@192.168.83.158:/root/

#3.在slave中进行还原

mysql>source demo.sql;

1.修改配置文件 my.cnf

binlog-format=ROW

server-id=158

2.重启

systemctl restart mysqld.service

3.登录数据库,

mysql -uroot -p

mysql>change master to master_host='192.168.83.153',master_user='root',master_password='qwe123!@#MJ',master_port=3306,master_log_file='锚点一',master_log_pos=锚点二;

#锚点一:在master服务器使用show master status查看,看上面的图中File字段

#锚点二:同上,偏移量,上图中Position字段

#启动线程

mysql> start slave;

#查看状态

show slave status\G; 

这里主要看标红的字段, 信息和之前配置的是否相同。

 Slave_IO_Running和 Slave_SQL_Running两个线程都必须是yes,就表示成功。

在这个过程中我所遇到的问题,https://www.jianshu.com/writer#/notebooks/47777866/notes/82207620

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容