CentOS7-----MySQL数据库主从互备
程序员文章站
2024-03-21 20:47:04
...
1、准备工作
1.1、两台服务器,有网络,且能 ping 通。
安装好了MySQL,尽量版本相同。
主IP:198.168.190.129
从IP:198.168.190.130
2、主库配置
vi /etc/my.cnf
2.1、找到主库配置文件,在[mysqld]下添加
server-id=1
log-bin=mysql-bin
binlog-do-db=要同步的数据库名,可选··
2.2、重启主库
service mysqld restart #重启mysql
2.3、登入主库MySQL,授权
mysql> CREATE USER 'test'@'192.168.190.130' IDENTIFIED BY 'test'; #创建从库用户
mysql> GRANT REPLICATION SLAVE ON *.* TO 'test'@'192.168.190.130'; #赋予从库用户权限
mysql> flush privileges; #刷新权限
2.4、查看主库状态,记住 file,和 position
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 | 1608 | test | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
至此主库配置完毕
3、从库配置
3.1、一样的找到从库配置文件,在[mysqld]下添加,server-id 一定不能一样
server-id=2
3.2、重启从库
service mysqld restart
3.3、登入从库MySQL,执行同步sql
CHANGE MASTER TO
MASTER_HOST='192.168.190.129',
MASTER_USER='test',
MASTER_PASSWORD='test',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=1608;
3.4、启动从库同步线程
mysql>start slave;
这两个为Yes则成功。Slave_IO_Running:Yes,Slave_SQL_Running:Yes
测试一下,舒服了。切记 主从库中 同步前主库中有A数据库,从库中也必须要有A数据库,不然同步失败
binlog-ignore-db #主库配置不同步哪些数据库
binlog-do-db #主库配置同步哪些数据库
replicate_wild_ignore_table #从库配置不同步哪些数据库
replicate_wild_do_table #从库配置同步哪些数据库
start slave #从库开启同步进程
stop slave #从库停止同步进程