MySQL主从复制配置,操作清晰简单

MySQL主从同步步骤:

配置前,为了无误,先将权限(远程访问)、防火墙等处理:
关闭windows/linux防火墙: windows:右键“网络”,  linux: service iptables stop
Mysql允许远程连接(windowos/linux):
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;


主机:(配置文件中不要写注释汉字进去,写进去有时会出现莫名其妙的各种问题)
1、先创建一个同步数据的用户
CREATE USER 'slave'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
#授权哪台计算机中的数据库 是自己的从数据库
grant replication slave,reload,super on *.* to 'slave'@'192.168.66.%' identified by '123456';   (其中192.168.66.% 代表从库的地址)
FLUSH PRIVILEGES;
2、修改 /etc/my.cnf
[mysqld]
server-id=1        
#二进制日志文件
log-bin=mysql-bin
#错误记录文件
log-error=mysql-error
#主从同步时 忽略的数据库
binlog-ignore-db=mysql
#(可选)指定主从同步时,同步哪些数据库 不指定的话就同步所有数据库
binlog-do-db=test    
expire_logs_days=10 # 设置二进制日志保存日期(定义了mysql清除过期日志的时间)
max_binlog_size=500M # 设置 每个 binlog 文件的大小
修改完后重启mysql服务
3、查看主数据库的状态(每次在做主从同步前,需要观察 主机状态的最新值)
show master status;  (mysql-bin.000001、 154)


从机:
1、修改 /etc/my.cnf
[mysqld]
server-id=2
log-bin=mysql-bin
replicate-do-db=test  #表示同步那个数据库,不设置表示同步所有
slave-skip-errors=all # mysql 复制可能出现主服务器上可以运行的语句,从服务器不能够运行,所以我们在 my.cnf 加一句 slave-skip-errors=all 意思是忽略所有的 sql 语句错误!
relay-log=mysql-relay-bin # 该文件用于存放 Slave 端的 I/O 线程从 Master 端读取的二进制文件信息
修改完后重启mysql服务
2、设置哪台计算机中的数据库 是自己的主计算机
CHANGE MASTER TO 
MASTER_HOST = '192.168.66.132', 
MASTER_USER = 'slave', 
MASTER_PASSWORD = '123456', 
MASTER_PORT = 3306,
master_log_file='mysql-bin.000001',
master_log_pos=154;
其中mysql-bin.000001和154是主库中状态查到的。
start slave;
检验  show slave status \G    主要观察: Slave_IO_Running和 Slave_SQL_Running,确保二者都是yes;如果不都是yes,则看下方的 Last_IO_Error。
本次 通过 Last_IO_Error发现错误的原因是 主从使用了相同的server-id, 检查:在主从中分别查看serverid:  show variables like 'server_id' ;
可以发现,在Linux中的my.cnf中设置了server-id=2,但实际执行时 确实server-id=1,原因:可能是版本问题。
解决措施:
stop slave;
set global server_id =2 ;
start slave ;
show slave status \G
如果报错信息中是uuid的相关问题,可以 find / -name auto.cnf 找到该文件的位置,先停掉mysql服务,删除该文件,然后开启mysql服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值