现在的位置: 首页 > 数据库 > MySql > 正文

MySQL的主从复制环境

2014年12月28日 MySql ⁄ 共 2438字 ⁄ 字号 暂无评论

 

注意版本影响:
实现双机的热备首先要了解主从数据库服务器的版本的需求。首先,MYSQL的版本都要高于3.2,还有一个基本的原则就是作
为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本

 

实验环境:
 master:192.168.0.101
 slave:192.168.0.113

软件包是通过rpm安装的 ;
安装版本是rhel5.5;  

   vim /etc/yum.repos/yum.repo
        [base]          #名字可以随便设置
  name=name       #第二个name也是可以随便设置的
  baseurl=file:///mnt/Server           # baseurl 是你挂载的文件目录;
  gpgcheck=0          #不检查密钥
  
通过yum 安装MySQL 的服务 只安装这两个就可以了  MySQL  mysql-server
 

 yum -y install mysql mysql-server
  
 
        #mysql.i686 0:5.1.52-1.el6_0.1  mysql-server.i686 0:5.1.52-1.el6_0.1

        #Complete!
  
[root@localhost ~]# vim /etc/my.cnf
 
    server-id=1
    log-bin=logbin   

 
############注意不要把server-id 添加到 [mysqld_safe] 下######
 
 完成后退出  重启一下服务  service mysqld restart

#登录到MySQL里 mysql -u root

[root@localhost ~]# mysql -u root

 mysql> show master status;
+---------------+----------+--------------+------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| logbin.000003 |     98|              |                  |
+---------------+----------+--------------+------------------+
1 row in set (0.00 sec)

mysql>
先查看下有没有二进制文件   logbin.000001

mysql> grant replication slave,reload,super on *.* to slave@192.168.0.101 identified by '123123';
Query OK, 0 rows affected (0.00 sec)

把相应的库的权限授权给slave

mysql>  FLUSH TABLES WITH READ LOCK;

# 锁定表lie

quit   #   退出 MySQL

slave set:

配置slave 文件
 vim /etc/my.cnf

server-id=2
master-host=192.168.0.113
master-user=slave
master-password=123123

直接把这里的文件内容覆盖原文件也可

service mysqld restart   # 重启下slave服务

链接下master  服务器 
[root@localhost ~]# mysql -u slave -p123123 -h 192.168.0.113  #ip is master ip address

确保slave 可以链接master

ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.0.113' (113)
#出现这种错误  时   把防火墙关闭就好了   service iptables stop  就ok了

mysql -u root -p

 CHANGE MASTER TO
 ->MASTER_HOST='192.168.1.128',
->MASTER_USER='slave',
->MASTER_PASSWORD='123123',
->MASTER_LOG_FILE='logbin.000003',  # 这个文件可以从主服务器哪里复制  ls /var/lib/mysql/
->MASTER_LOG_POS=98;

 mysql> start slave;
 

#在主服务器上创建库文件
 mysql> create database bbs;
Query OK, 1 row affected (0.00 sec)  # 创建一个库  看 同步否
mysql>show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbs                |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
#在从服务器上查看
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbs                |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)

完毕了   主从复制   同步

 

 

原文:http://linuxyy.blog.51cto.com/9490250/1596604