第一:
检查是否开启bin_log
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | ON |
+---------------+-------+
binlog的功能怎么打开
[root@MySql 3306]# grep log-bin /data/3306/my.cnf
log-bin = /data/3306/mysql-bin
第二:
添加一个账号允许从库来同步
mysql> grant replication slave on *.* to rep@'192.168.1.%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
replication slave 为同步的必须权限,此处不要授权all
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> flush table with read lock;
Query OK, 0 rows affected (0.00 sec)
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000019 | 635 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
mysql> show master logs;
| mysql-bin.000019 | 635 |
+------------------+-----------+
19 rows in set (0.00 sec)
备份一下主库
[root@MySql 3306]# mysqldump -uroot -p123456 -B -A --events -S /data/3306/mysql.sock |gzip >/opt/all.sql.gz
或者
[root@MySql 3306]# mysqldump -uroot -p123456 -B -A --events -S /data/3306/mysql.sock --master-data=2 >/opt/rep.sql
如果master-data=1,就自动记录了当前备份的位置点了,导入到从库的时候就记录的是哪个位置了。
查看备份的数据库,vi /opt/rep.sql 搜索
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000019', MASTER_LOG_POS=635;
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)
到此主库就可以提供服务了
以上是先锁表,备份数据库,然后再解锁表。
第三:
导入主库到从库
[root@MySql opt]# mysql -S /data/3307/mysql.sock </opt/rep.sql
登录从库
[root@MySql opt]# mysql -S /data/3307/mysql.sock
在从库执行
mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.1.182',
-> MASTER_PORT=3306,
-> MASTER_USER='rep',
-> MASTER_PASSWORD='123456',
-> MASTER_LOG_FILE='mysql-bin.000019',
-> MASTER_LOG_POS=635;
上面执行后生成master.info 文件放在从库的data目录下面
然后开启同步开关
mysql> start slave;
查看状态
mysql> show slave status\G;
测试同步结果:
主库执行
mysql> create database wiki;
从库查看
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| mysql |
| performance_schema |
| test |
| wiki |
+--------------------+
同步成功