mysql主从复制配置过程主从复制配置过程
主库配置主库配置
1. 配置配置mysql
vim /etc/my.cn
# 在文件中增加以下内容
server-id=1 # 保证server id唯一
log-bin = /var/lib/mysql/mysql-bin.log
binlog-do-db = db1
binlog-do-db = db2
其中db1和db2是计划进行主从复制的库,如果有多个,写多行即可。配置完毕后,重启数据库: service mysqld restart
2. 添加复制用户添加复制用户
通过phpmyadmin,添加新用户,并授予REPLICATION SLAVE权限。或者通过root用户登录到mysql,赋予权限:
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'password'
其中repl是用户名,password是该用户的密码。
3. dump数据数据
如果能够保证不会产生新数据,就不需要对数据库加锁。如果不能保证,则需要对每一个dump数据的数据库加锁:
use db1;
FLUSH TABLES WITH READ LOCK;
然后dump数据:
mysqldump -uroot -p db1 > db1.sql
如果有多个数据库,则重复上述过程多次。
4. 查看二进制文件位置查看二进制文件位置
使用root身份登录mysql,查看master状态:
show master status;
该命令会有类似如下格式的输出:
+-----------------+-----------+----------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-----------------+-----------+----------------+------------------+
| mysql-bin.00002 | 445 | db1,db2 | |
+-----------------+-----------+----------------+------------------+
1 row in set (0.00 sec)
5. 解锁解锁
如果导出数居前对数据库加了读锁,则需要解除:
use db1;
UNLOCK TABLES;
到此,主库配置完毕。特别需要记住 show master status 输出中的 file 和 position 的值。
从库配置从库配置
1. 新建数据库新建数据库
首先在从库上建立相同名称的数据库。
2. 配置从数据库配置从数据库