上一篇中我们讲解了数据库的安装,这里就不再讲了《centos中MySQL在线安装》
主从分离就是读写分离,一个为只读数据库、一个为只写数据库
下面开始我们的演示
名称 | ip |
主库 | 192.168.189.132 |
从库 | 192.168.1.104 |
一、配置主库
1 、修改my.cnf文件,在[mysqld]加入下面的内容:
# 服务的唯一编号
server-id = 1
# 开启mysql binlog功能
log-bin = mysql-bin
# binlog记录内容的方式,记录被操作的每一行
binlog_format = ROW
# 减少记录日志的内容,只记录受影响的列
binlog_row_image = minimal
# 指定需要复制的数据库名为jgyw
binlog-do-db = jgyw
2、修改好配置文件,重启mysql服务
service mysqld restart
3、创建从库同步数据的账号
grant replication slave on *.* to 'username'@'192.168.1.104' identified by 'password';
flush privileges;
注意:上面这两个命令是在mysql的终端执行的。
4、查看主库的状态:
mysql的终端执行:
show master status\G;
返回的信息为
*************************** 1. row ***************************
File: mysql-bin.000002
Position: 2380
Binlog_Do_DB: jgyw
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)
二、配置从库
1、修改/etc/my.cnf文件,在[mysqld]加入下面的内容:
# 服务的唯一编号
server-id = 2
# 开启mysql binlog功能
log-bin = mysql-bin
# binlog记录内容的方式,记录被操作的每一行
binlog_format = ROW
# 减少记录日志的内容,只记录受影响的列
binlog_row_image = minimal
# 指定需要复制的数据库名为jgyw
replicate-do-db = jgyw
2、修改好配置文件,重启mysql服务
service mysqld restart
3、执行同步命令
mysql的终端执行:
# 设置主服务器ip,同步账号密码,同步位置
change master to master_host='192.168.189.132',master_user='zx',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=2380;
# 开启同步功能
start slave;
4、查看从库的状态
mysql的终端执行:
show slave status\G;
返回信息为:
注意:Slave_IO_Running和Slave_SQL_Running的状态都为Yes时,说明从库配置成功。
注意:如果是虚拟机中的两个系统,一定要使两个系统在同一网段,不然会连不上