~~ !!!环境介绍:
- 主服务器 -> ip:192.168.0.104、系统:centos7、数据库:mariadb
- 从服务器 -> ip:192.168.0.105、系统:centos7、数据库:mariadb
- 从服务器 -> ip:192.168.0.106、系统:centos7、数据库:mariadb
~~ !!!请保证主服务器防火墙关闭,下面开始构建主从复制
一、配置主机 192.168.0.104
1、修改主服务器下 /etc/my.cnf 文件,在 [mysqld] 下添加如下代码,可参考下图:
// 如果不知道 my.cnf 文件在哪,可使用 find / -name my.cnf 命令查找
// 这里 server-id 中的 104 是本机ip的尾号,可随意设置数字,但要保证不重复
server-id = 104
log-bin = master-bin
log-bin-index = master-bin.index
2、启动 / 重启 数据库服务,可参考以下命令
// mariadb 启动数据库 ↓
service mariadb start
// mariadb 重启数据库 ↓
service mariadb restart
// mysql5.0 启动数据库 ↓
service mysqld start
// mysql5.0 重启数据库 ↓
service mysqld restart
// mysql5.5.7 启动数据库 ↓
service mysql start
// mysql5.5.7 重启数据库 ↓
service mysql restart
3、在主服务器数据库中创建一个用户:admin_x,密码:123456
// 这里的 @localhost 是限制用户只能在 固定的地址 localhost 登入,可根据个人需求修改
create user admin_x@localhost identified by '123456';
4、在主机中查看创建的用户,结果如下图:
// 在 数据库:mysql,表:user下查看用户 ↓
select host, user, password from mysql.user;
5、在主机中依次为从机分配权限,并刷新权限表:
// 为从机 192.168.0.105分配权限
grant replication slave on *.* to 'admin_x'@'192.168.0.105' identified by '123456';
// 为从机 192.168.0.106分配权限
grant replication slave on *.* to 'admin_x'@'192.168.0.106' identified by '123456';
// 刷新权限表
flush privileges;
6、查看主机二进制日志文件名与位置
// 查看主机二进制日志文件名与位置
show master status;
二、配置从机 192.168.0.105
1、修改 my.cnf 文件,在[mysqld] 下添加以下代码:
// 这里 server-id 中的 105 是本机ip的尾号,可随意设置数字,但要保证不重复
server-id = 105
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
2、启动 / 重启 并 进入数据库,设置连接
// 告诉从服务器 用哪个账号、用哪个密码、在哪里 读主服务器的日志文件
CHANGE MASTER TO
MASTER_HOST = '192.168.0.104',
MASTER_USER = 'admin_x',
MASTER_PASSWORD = '123456',
MASTER_LOG_FILE = 'master-bin.000004',
MASTER_LOG_POS = 745;
3、启动从服务,并查看状态,确保服务启动
// 启动从服务器
start slave
// 查看从机状态,如下图
show slave status \G;
三、配置从机 192.168.0.106(基本重复第二大步骤)
1、修改 my.cnf 文件,在[mysqld] 下添加以下代码:
// 这里 server-id 中的 106 是本机ip的尾号,可随意设置数字,但要保证不重复
server-id = 106
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
2、启动 / 重启 并 进入数据库,设置连接
// 告诉从服务器 用哪个账号、用哪个密码、在哪里 读主服务器的日志文件
CHANGE MASTER TO
MASTER_HOST = '192.168.0.104',
MASTER_USER = 'admin_x',
MASTER_PASSWORD = '123456',
MASTER_LOG_FILE = 'master-bin.000004',
MASTER_LOG_POS = 745;
3、启动从服务,并查看状态
// 启动从服务器
start slave
// 查看从机状态,如下图
show slave status \G;
四、测试主从复制
1、在主服务器 192.168.0.104 中创建一个新的数据库,并查看数据库列表
create database if not exists test_x default charset utf8 collate utf8_general_ci;
// 显示主机数据库列表
show databases;
2、在从机 192.168.0.105 中查看是否有新数据库
// 显示从机数据库列表
show databases;
3、在从机 192.168.0.106 中查看是否有新数据库
// 显示从机数据库列表
show databases;
~~ !!! 配置完成
网友评论