Centos7 环境下配置mysql主从服务
-
安装过程在这里不在赘述, 想要实现主从, 需要先配置好mysql的外网访问. 在配置号外网访问之后, 就可以开始着手设置主从复制了
-
首先在主数据库中创建一个同步账号,每个从数据库会使用一个mysql账号来连接主数据库,所以我们需要在主数据库中创建一个账号, 并授予该账号replication slave 权限, 这里可以为每一个从服务器创建一个账号,当然,也可以用同一个, 创建新账号使用 ‘create user’命令, 授予权限使用’grant’命令,
- 创建一个账号:
create user 'repl'@'%' identified by 'repl_Pass1';
- 授予权限:
grant replication slave on *.* to 'repl'@'%';
- 创建一个账号:
-
配置主数据库
- 编辑my.cnf文件内容
# 在[mysqld]下面添加一下内容 server-id = 1 log_bin = master-bin log_bin_index = master-bin.index # binlog_do_db 为要复制的数据库 binlog_do_db = test # binlog_ignore_db 为忽略的数据库,可以写多条 binlog_ignore_db = mysql
- 通常情况下,centos7的默认数据库配置文件为 /etc/my.cnf
- 编辑my.cnf文件内容
-
配置完成之后,重启数据库
systemctl restart mysqld
-
进入数据库,查看主服务器状态
show master status;
注意这里的file 和 position 两个字段的内容,将会在从服务器配置时用到.
从服务器配置:
-
同样的,在数据库配置文件[mysqld]后面添加一下内容
server-id = 2 # replicate-do-db 要同步的数据库名称 replicate-do-db=test # replicate-wild-do-table 单独同步某一个表时使用 replicate-wild-do-table =test.test
-
重新启动从数据库
-
指定主库
change master to master_host='120.26.175.79', master_port=3306, master_user='lab_admin', master_password='lab123', master_log_file='master-bin.000001', master_log_pos=154;
-
启动复制功能
start slave;
-
查看从数据库状态
show slave status \G;
以上配置完成之后,从服务器将会自动从主服务器上同步数据库
以上,就是mysql主从配置的操作