mysql主从复制详细配置步骤

2023-05-29  本文已影响0人  厦门第一帅哥
CREATE USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';
GRANT ALL PRIVILEGES ON databasename.* TO 'username'@'hostname';
FLUSH PRIVILEGES;

log-bin:二进制文件
log-error:错误记录文件
binlog-ignore-db:主从同步时忽略的数据库
binlog-do-db:主从同步时要同步的数据库

[mysqld]
log-bin=/var/log/mysql/mysql-bin
general_log=1
general_log_file = /var/log/mysql/mysql.log
log-error=/var/log/mysql/error.log
slow_query_log=ON
slow_query_log_file=/var/log/mysql/mysql_slow_query.log
long_query_time=5
server-id=1
binlog-ignore-db=mysql
binlog-do-db=lottery
grant replication slave, reload, super on *.* to 'czl'@'%'
show master status;

显示结果如下:


image.png

需要记住position,位置。在从机器上配置需要

[mysqld]
server-id = 2
replicate-do-db = lottery
log-bin = mysql-bin
log-error = mysql-error

配置server-id,和主机不同
配置replicate-do-db,需要同步的数据库
配置log-bin文件,这里我写的是相对路径

进入mysql的从数据库中。执行下面命令:

change master to master_host = '47.99.134.39', master_user = 'root', master_password = 'root', master_port = 3306, master_log_file = 'mysql-bin.000001', master_log_pos = 156;

master_log_file,和master_log_pos填入的是上面主机器获取出来的两个值。

如果从机器没有你要同步的数据库,需要先create database创建数据库,创建后执行:

start slave;   # 开启同步
show slave status\G;
image.png

这两个值均为yes就代表成功

RESET SLAVE ALL;
上一篇下一篇

猜你喜欢

热点阅读