Home > Database > Mysql Tutorial > MySQL 5.5数据库的主从复制_MySQL

MySQL 5.5数据库的主从复制_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-01 13:42:09
Original
878 people have browsed it

bitsCN.com 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';                     //让权限立即生效                 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;             查询用户的访问                     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 bitsCN.com

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template