mysql5.7 主从复制
admin
2023-04-21 14:23:04
0

mysql5.7 主从复制

注意事项:
主库全库备份完查看该文件binlog pos标记位
文件名为:binlog_pos_innodb 记录当时mysql备份时主库的标记为

环境说明:
两台安装在CentOS7.4的MySQL5.7.22服务器:master 和 slave
Master服务器:
IP:192.168.80.51
Port:3306
Slave 服务器:
IP:192.168.80.52
Port:3306
配置步骤:
1、 修改master的my.cnf配置文件,开启记录日志并设置server-id。
2、 修改slave的my.cnf配置文件,开启读取二进制日志并设置server-id。
3、 在slave上启动slave与master的连接。
4、 检查是否配置成功与排错。
1、 master 库my.cnf配置文件,在[mysqld]下添加如下配置:
A SERVER:

[client]
user = pmostc
password = pmostc
port = 3306
socket = /tmp/mysql.sock

[mysqld]
user = mysql
port = 3306
socket = /tmp/mysql.sock
basedir = /workspace/app/mysql/
datadir = /workspace/data/mysql/
tmpdir = /tmp
pid-file = /workspace/data/mysql/mysql.pid
bind-address = 127.0.0.1
log-bin=mysql-bin
server-id=1
log-error=mysqld.log

replicate-ignore-table=database.table

log-slave-updates = 1

说明:
log-bin 配置的是开启二进制日志,并将日志写在配置的路径上。记录的日志将以master-bin.000001 的方式进行记录。
log-bin-index 配置的是二进制日志记录文件的目录。该文件中每一行都是二进制日志文件的路径。
server-id是该MySQL服务器的服务ID,用于区分在主从配置中的其他服务器。
配置成功后,重启mysqld服务。
注意:如果不定义log-bin的文件名,则会以hostname主机名命名,一旦主机名修改,则会因为找不见二进制文件报错。所以最好还是显示指定文件名。
2、 slave 从my.cnf配置文件,在[mysqld]下添加如下配置:
[client]
user = pmostc
password = pmostc
port = 3306
socket = /tmp/mysql.sock

[mysqld]
user = root
port = 3306
socket = /tmp/mysql.sock
basedir = /workspace/app/mysql/
datadir = /workspace/data/mysql/
tmpdir = /tmp
pid-file = /workspace/data/mysql/mysql.pid
bind-address = 127.0.0.1

server_id = 1921688052
binlog_format=mixed
relay-log = relay-bin
relay-log-index = relay-bin.index
report-host=
report-port=22988
log-bin=mysql-bin
log-error=mysqld.log

replicate-ignore-table=database.table

log-slave-updates = 1
server-id和master意义一样,用于区分不同的mysql服务器。
relay-log用以记录收到的中继二进制日志。relay-log-index用以保存收到的日志路径索引。如果不显示指定文件名,则以hostname值命名。
保存后可以重启mysqld服务。

3、全量备份主数据库
mysqldump -uroot -p123456 database > database.sql

4、在从库恢复主库全量备份数据
mysqldump -uroot -p123456 database < database.sql

恢复完数据库并重启mysql服务
5、 在slave上启动slave与master的连接。
在slave上登录到mysql,在mysql>:下进行操作。
3.1、mysql>stop slave; //停止slave。
配置标记为同步
mysql> CHANGE MASTER TO MASTER_HOST='192.168.80.51',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='123456',
-> MASTER_LOG_FILE='mysql-bin.000001',
-> MASTER_LOG_POS=0;

3.3、mysql>start slave;
4、检查是否配置成功与排错
mysql>show slave status \G;
在打印出来的状态下,查看以下两个参数的值:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如果这两个参数的值都是yes,则运行正常,可以在master数据库上添加一个数据库或者添加一张表,检查slave数据库上是否存在。
如果 这两个参数有任何一个不是 Yes,则说明存在问题。可以查看slave上的数据库错误日志文件查看错误原因。
Slave_IO_State, Slave_IO_Running, 和Slave_SQL_Running表明slave还没有开始复制过程。
常见的错误原因:
1、 server-id 一致。
2、 用户权限不够。需要的权限包括:
REPLICATION SLAVE,RELOAD,CREATE USER,SUPER。
GRANT REPLICATION SLAVE,RELOAD,CREATE USER,SUPER ON . TO {USER}@{IP_ADDR} WITH GRANT OPTION;

grant replication slave,replication client on . to slave@'192.168.80.52' identified by "123456";

相关内容

热门资讯

“一次愉快的会晤”,泽连斯基披... 在俄乌互相加大对对方纵深目标打击之际,乌克兰总统泽连斯基7月28日造访了白宫,与美国总统特朗普举行会...
总统连遭“逼宫”,少帅临危受命 躲避着燃烧瓶和火箭弹袭击,四辆苏制BMP步兵战车快速穿行在马里乌波尔市区。即将出城的路口,迎面出现1...
独居女子在卧室玩偶内发现摄像头... 租房独居女子意外发现家中玩偶内藏着偷拍设备,报警后偷拍设备竟“不翼而飞”,门锁记录显示有人在她出门的...
伊学者:乌克兰袭击行动适得其反... 乌克兰袭击与伊朗有关的船只后,伊朗和俄罗斯接连作出强硬回应。伊朗外交学院教授法拉吉扎德在接受凤凰卫视...
20万人怒火不会停!蓝议员挺蒋... 海峡导报综合报道 在蓝白号召台湾民众上凯道呐喊“反毒台”后,台北市长蒋万安日前透露,近日不少民代私下...
柯文哲妻子陈佩琪畅游大陆,民进... 台湾民众党前主席柯文哲妻子陈佩琪27日在脸书发文证实,自己早前由儿子陪同前往上海、杭州与北京旅游一周...
高市早苗被问如何改善中日关系 据日本东京新闻报道,当地时间7月27日,日本首相高市早苗在首相官邸举行记者会。当被问及如何改善中日关...
扎哈罗娃批小泉进次郎涉核言论:... 【环球网报道 记者 张江平】综合俄新社等媒体报道,对于日本防卫大臣小泉进次郎涉核言论,俄罗斯外交部发...
“特高课”再现?日本强推“国家... 无视反对战争正义呼声 复刻战前军国主义体制日本强推“国家情报局”引发广泛担忧和批评(国际视点)本报记...
6G相比5G不只是速度更快 将...   6G相比5G不只是速度更快  【6G相比5G不只是速度更快】7月28日,相比5G,6G不仅是速度...