MySQL的主从复制
1 master主服务器的配置
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
1.1 停止mysql服务
1.2编辑my.cnf
#在[mysqld]中添加:
主数据库配置:vim /etc/my.cnf
server_id=146 #一般设置ip最后一位
log-bin=mysql-bin #开启bin-log
binlog_do_db=db1 # db1数据库
binlog_do_db=db2 # db2数据库
1.3 启动MySQL服务
1.4 master数据库配置slave
#进入mysql数据库
[root@localhost mysql]# mysql -uroot -p
Enter password:
#创建从数据库的masterbackup用户和权限
mysql> grant replication slave on *.* to masterbackup@'192.168.17.%' identified by '123456';
#备注
#192.168.17.%通配符,表示0-255的IP都可访问主服务器,正式环境请配置指定从服务器IP
#若将 192.168.17.% 改为 %,则任何ip均可作为其从数据库来访问主服务器
#退出mysql
mysql> exit;
1.5 重启MySQL服务
#进入mysql数据库
[root@localhost mysql]# mysql -uroot -p
Enter password:
#查看主服务器状态
mysql> show master status;
+-------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000001 | 154 | test | | |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
2 slave从服务器配置
2.1 编辑 my.cnf
server_id=210
log-bin=mysql-bin
binlog_do_db=db1 # db1数据库
binlog_do_db=db2 # db2数据库
2.2 重启MySQL服务
#执行sql
change master to master_host='master_db_ip',master_user='root',master_password='pwd',master_log_file='mysql-bin.000001',master_log_pos=154;
#查看配置是否生效
show VARIABLES like '%server_id%'
2.3 Slave启动数据库同步
#启动slave数据同步
mysql> start slave;
#停止slave数据同步(若有需要)
mysql> stop slave;
2.4 查看slave信息
show slave status\G;
Slave_IO_Running和Slave_SQL_Running都为yes,则表示同步成功。