mysql主从复制的搭建

注意事项:

1.主从数据库版本必须一致

2.主从数据库名称必须一致

3.主从数据库serverid必须唯一

mysql安装步骤https://blog.csdn.net/kxj19980524/article/details/88837901

如果使用rpm安装方式/etc/下可能没有my.cnf文件

首先主从都创建一个同名的数据库

Mysql主服务器配置

vim /etc/my.cnf

lower_case_table_names=1  不区分大小写,linux数据库是区分大小写的
binlog-do-db=db1    指定哪个数据库做主从,它就会把对数据库操作写到bin-log二进制文件上
binlog-ignore-db=mysql  #忽略bin-log的数据库
#启用二进制日志
log-bin=mysql-bin
#服务器唯一ID,一般取IP最后一段
server-id=10

重启mysql服务

service mysqld restart

登录进去mysql后 show master status; 查看主机状态记住下面的参数一会儿要用

然后创建一个用户为slave使用,因为主从复制原理是主机把修改文件操作写入到bin-log中去,然后从服务器从那里面读取,所以在主服务器上创建一个用户为从服务器使用

建立帐户并授权slave
mysql>GRANT FILE ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';
mysql>GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to 'backup'@'%' identified by '123456'; 
#一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.168.145.226,加强安全。

刷新权限
mysql> FLUSH PRIVILEGES;

从服务器配置

只要加一个server-id就可以了

然后进入到数据库执行下面命令,把对应的地方改掉,mysql-bin和master_log就是上面主服务器查出来的东西

change master to master_host='192.168.1.10',master_port=3306,master_user='backup',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;

启动从服务器复制功能

Mysql>start slave;

 show slave status\G;查看状态,这两项都是yes就表示成功了

然后编辑从服务器,把登录用户改为刚才授权的backup这个用户,然后就配置好了,在主机插入等操作从机都可以同步

猜你喜欢

转载自blog.csdn.net/kxj19980524/article/details/88839765