MariaDB 主从配置
MariaDB 数据库配置请查看 MariaDB 10.3 安装配置
MariaDB 的主从的配置是整个读,写分离的核心机制所在,所以现在建立了两台新的虚拟机:server-master,server-slave 关系就是 slave 同步 master 主机,本次使用的主机列表如下:
No. | 主机名称 | IP 地址 | 描述 |
---|---|---|---|
1 | server-master | 192.168.31.128 | MariaDB 服务(master) |
2 | server-slave | 192.168.31.129 | MariaDB 服务(slave) |
1.【server-*】一定要保证两台服务的时间是同步的,如果不同步无法实现主从配置。
2.【server-master】修改 MariaDB 的配置文件:
vim /etc/my.cnf.d/server.cnf #在 [mysqld] 下面添加 server-id=129 #主节点标识,唯一 log-bin=master-bin-1
- "log_bin=master-bin-1":表示配置同步 bin 的文件名称,不同的主从关系组,名称不同;
- "server_id=129":定义的是 MySql 服务的编号,这个编号一般取 IP 的最后一位;
- 保存退出后可以之即启动 mysql 服务:
service mysql restart #重起服务
- 登录到 mysql 数据库之中:
mysql -uroot -phahaha
- 查看 master 状态:
show master status;
"File(server-bin-1.000001)",是从主机必须设置的名称;
"Position(331):同步的节点位置;
MariaDB [(none)]> show master status ; +---------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +---------------------+----------+--------------+------------------+ | server-bin-1.000001 | 331 | | | +---------------------+----------+--------------+------------------+ -------------------------------------若没有问题 该部分结束-----------------------
3.【server-master】考虑到与服务器同步的安全性问题,建议建立一个新的的用户:miim
MariaDB [(none)]> GRANT REPLICATION SLAVE ON *.* TO 'miim'@'%' IDENTIFIED BY 'zsl01'; MariaDB [mysql]> FLUSH PRIVILEGES;
4.【server-slave】从节点修改配置文件:
vim /etc/my.cnf.d/server.cnf log-bin=salve-bin server-id=129 relay-log=relay-bin log-slave-updates=1 read-only=1
- 重启服务
service mysql restart #重起服务
5.从配置
mysql -uroot -phahaha MariaDB [mysql]> change master to master_host='192.168.31.128',master_user='miim',master_password='zsl01',master_log_file='server-bin-1.000001',master_log_pos=331;
MariaDB [mysql]> show slave status\G; #查看从同步状态 *************************** 1. row *************************** Slave_IO_State: Master_Host: 192.168.31.128 Master_User: miim Master_Port: 3306 Connect_Retry: 60 Master_Log_File: server-bin-1.000001 Read_Master_Log_Pos: 331 Relay_Log_File: relay-bin.000001 Relay_Log_Pos: 4 Relay_Master_Log_File: server-bin-1.000001 Slave_IO_Running: No # NO未开启同步 Slave_SQL_Running: No
- MariaDB [mysql]>start slave; #开启复制
MariaDB [mysql]> show slave status\G; #查看从同步状态 *************************** 1. row *************************** Slave_IO_State: Master_Host: 192.168.31.128 Master_User: miim Master_Port: 3306 Connect_Retry: 60 Master_Log_File: server-bin-1.000001 Read_Master_Log_Pos: 331 Relay_Log_File: relay-bin.000001 Relay_Log_Pos: 4 Relay_Master_Log_File: server-bin-1.000001 Slave_IO_Running: Yes # Yes开启同步 Slave_SQL_Running: Yes
6. 测试
- 主节点开启远程访问
DROP DATABASE IF EXISTS zsl; CREATE DATABASE zsl CHARACTER SET UTF8 ; USE zsl ; CREATE TABLE member( MID VARCHAR(50) , NAME VARCHAR(50) , age INT , salary DOUBLE , birthday DATE , note TEXT , CONSTRAINT pk_mid PRIMARY KEY(MID) ) ; INSERT INTO member(MID,NAME,age,salary,birthday,note) VALUES ('zsl','hello',10,2000.0,'2017-11-11','very good') ; INSERT INTO member(MID,NAME,age,salary,birthday,note) VALUES ('admin','admin',10,2000.0,'2017-11-11','very good') ; INSERT INTO member(MID,NAME,age,salary,birthday,note) VALUES ('guest','admin',10,2000.0,'2017-11-11','very good') ;
- 从节点
MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | zsl | +--------------------+ 出现zsl数据库表示配置成功
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于