首页 电脑 电脑学堂 查看内容

MySQL 5.5数据库的主从复制

2012-5-30 16:30 814 0

摘要: MySQL 5.5数据库的主从复制   今天参照网上的资料进行mysql数据库的主从复制研究,本来网上的资料已经很详细,但是我在实践中还是遇到了很多问题,下面就根据网上的资料以及我遇...
关键词: nbsp MySQL slave 主从 主机 问题 192.168 master 监听 机上

MySQL 5.5数据库的主从复制   今天参照网上的资料进行mysql数据库的主从复制研究,本来网上的资料已经很详细,但是我在实践中还是遇到了很多问题,下面就根据网上的资料以及我遇到的问题进行一个总结。           系统环境:Ubuntu12.04           软件版本:mysql-server-5.5           主机IP:192.168.0.200           从机IP:192.168.0.201   操作:       1、主机操作:           1)、编辑mysql配置文件my.cnf                   [mysqld]                   server-id=1                   log-bin=mysql-bin           注:网上还有一些其他的配置,但是为了偷懒只配置了这两个重要的,当然这两个也是必须的。           2)、用root登陆mysql执行下面的代码                   //建立一个用户dean密码123456,并赋予replication slave权限:                   mysql>grant replication slave on *.* to 'dean'@'192.189.0.201' identified by '123456';  www.2cto.com                     //让权限立即生效                   mysql>flush privileges;                   //查询二进制文件的文件名和状态(后面要用)                   mysql>show master status \G                                   File:mysql-bin.000006                            Position:107                  Binlog_Do_DB:            Binlog_Ignore_DB:       2、从机操作:           1)、编辑myslq配置文件my.cnf:                   [mysqld]                   server-id=2   //只要和主机不同即可           2)、登陆mysql,输入以下命令:                  a)、 mysql>change master to master_host='192.168.0.200',master_user='dean', \                                  master_password='123456',master_log_file='mysql-bin.000006',                                   master_log_pos=107;                   b)、mysql>start slave;                   c)、 mysql>show slave status \G           如果出现:Slave_IO_Running:Yes                           Slave_SQL_Running:Yes           那么说明没有问题了,就可以在主机上面建库建表写测试数据,然后在从机上查询看有没有数据。一般是没有问题了。           但是如果是出现:                           Slave_IO_Running:Connecting                           Slave_SQL_Running:Yes            那么就表示主从服务有问题了,我也就是遇到这个问题下面是我的解决方案:           1)、在从机上直接远程登陆主机mysql服务器:               #mysql -udean -h 192.168.0.200 -p123456               如果被拒绝那么就需要检查主机的用户dean的权限、防火墙等设置是否正确。(我的被拒绝了)           2)、检查权限。               用root登入mysql 并选择mysql库                   mysql>use mysql;               查询用户的访问  www.2cto.com                     mysql>select host,user from user;                  从查询数据看没有问题,有dean用户 接受192.168.0.201的访问           3)、防火墙设置                   将端口为3306 的访问设为允许                       #sudo ufw allow 3306                   将ip为192.168.0 .201的访问设为允许                       #sudo ufw allow 192.168.0.201                   查看状态                         # sudo ufw status           设置完后还是从机还是不能直接远程访问主机           4)、查看端口监听                       #netstat -anpy|grep 3306               发现当前的端口3306只在127.0.0.1监听,找到问题所在。修改mysql配置文件my.cnf将里面的bind-address=127.0.0.1注释调,重新察看端口监听发现监听是0.0.0.0:3306,好了测试一下果真可以进行远程访问。           重新进行主机从机的操作,但是发现在从机中不能进行第2步a操作,执行下面命令                   mysql>stop slave;//关闭slave                   mysql>reset slave;//重置slave           继续执行a操作并往下继续操作。           最终完成了Mysql 数据库的主从复制。               另:根据网上资料显示,如果主机在搭建主从复制前已经有数据需要先在主机上加锁:               mysql>flush tables with read lock;               然后打包数据目录并拷贝到从机上,然后解锁。     作者 DeanJoson
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部