在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
主库配置 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是计划进行主从复制的库,如果有多个,写多行即可。配置完毕后,重启数据库: 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; 到此,主库配置完毕。特别需要记住 从库配置 1. 新建数据库 首先在从库上建立相同名称的数据库。 2. 配置从数据库 vim /etc/my.cnf # 在my.cnf中增加以下内容: server-id = 2 # 保证id唯一 relay-log = /var/lib/mysql/mysql-relay-bin.log replicate-wild-do-table = db1.% replicate-wild-do-table = db2.% 如果同步多个数据库,replicate-wild-do-table需要写多行。配置好后,重启数据库。 3. 导入数据 将主服务器上dump出来的数据导入从服务器中: mysql -uroot -p db1 < db1.sql 4. 配置主从同步 登录到mysql服务器,配置同步的主服务器信息: > change master to master_host='xxx.xxx.xx.xx', > master_user='repl', > master_password='password', > master_log_file='mysql-bin.00000x', > master_log_pos=xxxx; 配置好后启动主从同步: 测试 在主库上新增记录或者添加表等操作,几乎都能实时反映到从库上。 以上就是mysql主从复制配置过程的详细内容,更多关于mysql主从复制配置的资料请关注极客世界其它相关文章! |
请发表评论