mysql主从复制配置过程
主库配置
1.配置mysql
vim/etc/my.cn #在文件中增加以下内容 server-id=1#保证serverid唯一 log-bin=/var/lib/mysql/mysql-bin.log binlog-do-db=db1 binlog-do-db=db2
其中db1和db2是计划进行主从复制的库,如果有多个,写多行即可。配置完毕后,重启数据库:servicemysqldrestart
2.添加复制用户
通过phpmyadmin,添加新用户,并授予REPLICATIONSLAVE权限。或者通过root用户登录到mysql,赋予权限:
GRANTREPLICATIONSLAVEON*.*TO'repl'@'%'IDENTIFIEDBY'password'
其中repl是用户名,password是该用户的密码。
3.dump数据
如果能够保证不会产生新数据,就不需要对数据库加锁。如果不能保证,则需要对每一个dump数据的数据库加锁:
usedb1; FLUSHTABLESWITHREADLOCK;
然后dump数据:
mysqldump-uroot-pdb1>db1.sql
如果有多个数据库,则重复上述过程多次。
4.查看二进制文件位置
使用root身份登录mysql,查看master状态:
showmasterstatus;
该命令会有类似如下格式的输出:
+-----------------+-----------+----------------+------------------+ |File|Position|Binlog_Do_DB|Binlog_Ignore_DB| +-----------------+-----------+----------------+------------------+ |mysql-bin.00002|445|db1,db2|| +-----------------+-----------+----------------+------------------+ 1rowinset(0.00sec)
5.解锁
如果导出数居前对数据库加了读锁,则需要解除:
usedb1; UNLOCKTABLES;
到此,主库配置完毕。特别需要记住showmasterstatus输出中的file和position的值。
从库配置
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-pdb14.配置主从同步
登录到mysql服务器,配置同步的主服务器信息:
>changemastertomaster_host='xxx.xxx.xx.xx', >master_user='repl', >master_password='password', >master_log_file='mysql-bin.00000x', >master_log_pos=xxxx;配置好后启动主从同步:startslave。然后通过命令查看状态:showslavestatus,如果成功的话slave_io_running和slave_sql_running两项应该都是yes.
测试
在主库上新增记录或者添加表等操作,几乎都能实时反映到从库上。
以上就是mysql主从复制配置过程的详细内容,更多关于mysql主从复制配置的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。