网站建设知识
mysql主从分离
2025-07-22 11:14  点击:0

mysql主从分离操作步骤

关闭 selinuxs
#首先对主从两台机器同事操作chkconfig selinux off #关闭开机启动setenforce 0 #关闭selinuxvim /etc/selinux/config #编辑配置项目SELINUX=disabled#修改这一行serice iptables stop#关闭防火墙getenforce #检测是否关闭防火墙

2.修改主服务器

vim /etc/my.cnf#修改如下行server-id=12#建议修改成服务器ip地址的后一位
重启两台mysql服务
service mysql restart

4.保持两台数据库结构一致

msyql -uroot -pcreate database demo;use demo;create table user (id int primary key  auto_increment, username varchar(30))engine=innodb default charset=utf8;exit;
在主(master)服务器上设置一个专门用来访问的权限的账户。
msyql -uroot -p#链接主服务器的数据库CREATE USER 'user'@'x.x.x.x' IDENTIFIED BY 'password';#创建用户grant replication slave on *.* to 'mysqync'@'%' identifid by '你的密码';show master status; #查看之服务器的数据库
配置从服务器
mysql -uroot -p #连接服务器? change master to;?changechange master to    -> master_host='10.0.211.5',    -> master_user='mysync',    -> master_password='123456',    -> master_log_file='mysql-bin.000016',    -> master_log_pos=507;#配置主服务器(此操作需要在从服务器上操作) start slave;#开启服务器 show slave status \G;#查看状态 #能看到下面的两行则表示成功 Slave_IO_Running: ConnectingSlave_SQL_Running: Yes#成功#master端   binlog-do-db= test  #二进制需要同步的数据库名   binlog-ignore-db=mysql  #避免同步 mysql 用户配置,以免不必要的麻烦#slave端:   replicate-do-db=test         #(do这个就是直接指定的意思)     replicate-ignore-db=mysql

解决主键冲突

#在从属服务器上执行一下命令,跳过他:slave:stop slave;set global sql_slave_skip_counter = 1;#或者在从属服务器上的my.cnf中加上slave-skip-errors = 1062;