mysql的主从复制,读写分离(正在做读写分离,下一章出)

准备两台虚拟机

192.168.18.144
192.168.18.145

因为我是Centos7.3自带的mysql 所以不需要在安装mysql
直接进入主mysql(192.168.18.144)的配置文件进行更改
vim /etc/my.cnf
在配置文件中加入 值最好不要是1 因为网上好多都是建议的写1 可能会遇到一些问题
所以最好配置一个不太常用的数字
server-id用于标识该语句最初是从哪个server写入的
log-bin启动MySQL二进制日志,即数据同步语句,从数据库会一条一条的执行这些语句。
binlog-ignore-db不需要同步的数据库 还可以通过设置binlog_do_db指定需要同步的数据库

server-id=18144
log-bin=/var/lib/mysql/binlog
binlog-ignore-db=mysql

更改配置文件需要对mysql进行重启
我是自带的mysql 直接

service mysqld restart
然后进入mysql进行对从机的权限赋值
进入mysql

mysql -u mysql账号 -p 密码

给从机赋权限

GRANT REPLICATION SLAVE ON *.* to 'rep1'@'192.168.18.145' identified by 'test123456';

查看主数据库状态

show master status;

记录这两个参数 需要在从机配置
mysql的主从复制,读写分离(正在做读写分离,下一章出)
主机的配置已经好了

下面进入从机的配置
和主机相似 进入my.cnf配置一个server-id 不要和主机重复 接着重启mysql服务
进入mysql命令执行

change master to
master_host='192.168.18.144',
master_user='rep1',
master_password='test123456',
master_log_file='binlog.000002',
master_log_pos=442;

//之后输入启动slave
start slave;
//查看从服务器状态
show slave status\G

mysql的主从复制,读写分离(正在做读写分离,下一章出)

这两个参数必须为yes 如果不为yes 去mysql启动日志查看错误进行解决

cat /var/log/mysqld.log

mysql的主从复制,读写分离(正在做读写分离,下一章出)
自我理解:我这边因为是相同的虚拟机 mysql都是一样的 mysql都有一个uuid的标识 每个mysql的不能相同

需要去mysql的auto.cnf文件修改一下uuid
如果不知道auto.cnf文件在哪 可以find / -name auto.cnf
修改过后重启mysql会发现
mysql的主从复制,读写分离(正在做读写分离,下一章出)
都是yes 可以进行一波测试了就 对主库进行各种操作;

新手上路 大佬指点
读写分离 正在研究