MySQL8.0配置主从模式
-
查看主MySQl的binglog
show master status;
我的binglog是binglog.000002,后面要用到
-
查看server_id
SHOW VARIABLES LIKE 'server_id'; //在主从msyql中分别运行该命令,如果server_id 不一致即可,否则需要修改
修改server_id(我是在从mysql中修改的)cd /etc/mysql/my.cnf 增加如下内容 server-id=2 #必须和主mysql不一致(我的主mysql server_id=1)
也可以直接在mysql中设置
set global server_id=2; #此处的数值和my.cnf里设置的一样就行
-
创建用户主从同步的账号,并授权(创建用户并授权,亲测可用)
CREATE USER 'reader'@'%' IDENTIFIED BY '123456'; #创建用户 GRANT REPLICATION SLAVE ON *.* TO 'reader'@'%'; #授权 flush privileges; #刷新
-
查看自己的IP地址
Linux或Mac可以通过ifconfig 查看ifconfig;
window可以通过打开cmd命令行输入ipconfig进行查看
ipconfig
-
在从mysql中输入如下命令,参数改成自己的
CHANGE MASTER TO MASTER_HOST='192.168.0.109',MASTER_PORT=3307,MASTER_USER='reader',MASTER_PASSWORD='123456',MASTER_LOG_FILE='binlog.000002',MASTER_LOG_POS=0;
参数说明:
. MASTER_HOST 自己本机的IP地址,或远程MySQL主机的ip地址
. MASTER_PORT 主MySQL的端口号
. MASTER_USER 主mysql的用户名
. MASTER_PASSWORD主MySQL的密码
. MASTER_LOG_FILE主mysql的binglog
. MASTER_LOG_POS 日志从0开始读 -
启动slave同步进程,在从mysql中输入
start slave;
-
show slave status命令可以显示主从同步的状态,在从mysql中输入
show slave status\G;
Slave_IO_Running:Yes 和 Slave_SQL_Running:Yes 为Yes 说明主从关系已经配置成功