在mysql中如何配置主从复制?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
<强> 1。配置mysql 强>
vim/etc/my.cn #在文件中增加以下内容 服务器id=1 #保证服务器id唯一 log-bin=/var/lib/mysql/mysql-bin.log binlog-do-db=db1 db2 binlog-do-db=
其中db1和db2是计划进行主从复制的库,如果有多个,写多行即可。配置完毕后,重启数据库:<代码>服务mysqld重启代码>
<强> 2。添加复制用户强>
通过phpmyadmin,添加新用户,并授予复制奴隶权限。或者通过根用户登录到mysql,赋予权限:
格兰特复制奴隶>使用db1; 刷新表读锁;
然后转储数据:
,mysqldump -uroot - p db1祝辞db1.sql
如果有多个数据库,则重复上述过程多次。
<强> 4。查看二进制文件位置强>
使用根身份登录mysql,查看主人状态:
显示主状态;
该命令会有类似如下格式的输出:
+ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | |文件位置| Binlog_Do_DB | Binlog_Ignore_DB | + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + | mysql-bin。00002 | 445 | db1、db2 | | + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + 1行集(0.00秒)
<强> 5。解锁强>
如果导出数居前对数据库加了读锁,则需要解除:
使用db1; 解锁表;
到此,主库配置完毕。特别需要记住<代码>显示主状态> 代码输出中的文件和位置的值。
<强> 1。新建数据库强>
首先在从库上建立相同名称的数据库。
<强> 2。配置从数据库强>
vim/etc/my.cnf #中在my . cnf中所做增加以下内容: 服务器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。导入数据强>
将主服务器上倾倒出来的数据导入从服务器中:
mysql -uroot - p db1 & lt;db1.sql
<>强4。配置主从同步
强>
登录到mysql服务器,配置同步的主服务器信息:
在修改主master_host=& # 39; xxx.xxx.xx.xx& # 39; 比;master_user=& # 39; repl # 39; 比;master_password=& # 39;密码# 39; 比;master_log_file=& # 39; mysql-bin.00000x& # 39; 比;master_log_pos=xxxx;
配置好后启动主从同步:<代码>开始奴隶> 代码。然后通过命令查看状态:<代码>显示奴隶状态> 代码,如果成功的话slave_io_running和slave_sql_running两项应该都是肯定的。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。