linux配置mysql主从复制
1.准备工作,2台服务器都安装最好一个版本的mysql 如:
主:192.168.100.1
从:192.168.100.2
2.修改主数据库/etc/my.cnf,mysqld下添加 编辑命令为:vi /etc/my.cnf 按ESC 输入:wq!保存退出 如下图:
3.修改从数据库/etc/my.cnf,mysqld下添加 编辑命令为:vi /etc/my.cnf 按ESC 输入:wq!保存退出 如下图:
4.主库操作 主库创建用于主从复制的账户 登录mysql 登录命令:mysql -uroot -p
mysql>create user [email protected]'192.168.100.2' identified by 'sync';
mysql>grant replication slave on *.* to [email protected]'192.168.100.2';
注意 以上192.168.100.2为从库的ip地址,需要换成实际的。我设置的主从账户和密码都为sync,可以更换
5.主库锁表,禁止再插入数据以获取主数据库二进制日志坐标
mysql>flush tables with read lock;
6.新开一个会话窗口,进入mysql库,执行
mysql> show master status;
记录file和position,稍后需要在从库配置
7.主服务器使用mysqldump命令创建数据快照
mysqldump -uroot -p -h127.0.0.1 -P3306 --all-databases --triggers --routines --events >/data/all.sql
8.主库解锁
mysql> unlock tables;
9.从库服务器操作 登录mysql 命令:mysql -uroot -p
mysql> CHANGE MASTER TO MASTER_HOST='192.168.100.1',MASTER_USER='sync',MASTER_PASSWORD='sync',MASTER_LOG_FILE='mysqlmaster-bin.000001',MASTER_LOG_POS=500;
10.然后启动从数据库的复制线程:
mysql> start slave;
11.查询数据库的slave状态
mysql> show slave status \G
下面两个参数都是Yes,说明主从配置成功!
12.测试,从主库创建数据库和增删改查,然后到从库去查看 (注:如果要清除主从配置,需要进入从库执行2条命令; stop slave; reset slave all;)