Centos5.7下Mysql主从同步配置

Centos5.7下Mysql主从同步配置
Linux下的mysql主从同步教程很多,很简单的配置弄的很复杂,有些还配置不通。下面我把自己的配置过程整理如果,希望能给您一点帮助。
环境
Master操作系统:Centos 5.7
Ip:222.123.44.65
Slave操作系统:Centos 5.7
Ip:222.123.44.66
根据安装方法的不同,数据库相关路径也不太一致,我用YUM安装,因些,数据库存放路径/var/lib/mysql,数据库配置文件路径/usr/share/mysql,数据库相关命令/usr/bin.
查看主库服务器/usr/share/mysql目录下的cnf文件
/usr/share/mysql/*.cnf
其中.cnf文档如下:
My-small.cnf     内存少于或等于64M,只提供很少数据库服务
My-medium.cnf   内存在32M-64M之间而且和其他服务一起使用,如web
My-large.cnf      内存在512M主要提供数据库服务
My-huge.cnf      内存在1G-2G,主要提供数据库服务
My-innodb-heavy-4G.cnf   内存有4G,主要提供较大负载数据库服务(一般服务器使用这个)
复制文件到/etc下并更名为my.cnf
Cp /usr/share/mysql/my-innodb-heavy-4G.cnf /etc/my.cnf
***Master端***
进入mysql,创建一个数据库repldb
Mysql>create database repldb;
打开my.cnf,并添加如下字段
Vi /etc/my.cnf
Server-id = 1
Log-bin = log
Binlog-do-db = repldb    //需要同步的数据库,如果没有本行,即表示同步所有数据库
Binlog-ignore-db = mysql    //被忽略的数据库
在masters机上为slave机添加一同步账号
Grant replication slave on *.* to  'repldb'@'222.123.43.66'  identified by '123456';
重启master机的mysql服务
Service mysqld restart
用show master status命令看日志情况
mysql> show master status;
+------------+----------+--------------+------------------+
| File       | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------+----------+--------------+------------------+
| log.000011 |  3398273 | repldb      | mysql            | 
+------------+----------+--------------+------------------+
1 row in set (0.00 sec)
***Slave端***
进入mysql,创建一个数据库repldb
Mysql>create database repldb;
打开slave机中的my.cnf的配置文件,操作过程同master机一样
Vi /etc/my.cnf,并添加如下字段
Server-id = 2
Master-host = 222.123.43.65
Master-user = repldb
Master-password = 123456
Master-port = 3306
Master-connect-retry = 10
然后重启slave机的mysql
Service mysqld restart
在slaves机中进入mysql
Mysql>start slave;
Mysql>show slave status\G;
mysql> show slave status\G;
*************************** 1. row ***************************
             Slave_IO_State: Waiting for master to send event
                Master_Host: 222.186.43.118
                Master_User: phpwind
                Master_Port: 3306
              Connect_Retry: 10
            Master_Log_File: log.000011
       Read_Master_Log_Pos: 4514237
             Relay_Log_File: mysqld-relay-bin.000073
             Relay_Log_Pos: 1116193
      Relay_Master_Log_File: log.000011
          Slave_IO_Running: Yes
        Slave_SQL_Running: Yes
          Replicate_Do_DB: phpwind
       Replicate_Ignore_DB: 
        Replicate_Do_Table: 
     Replicate_Ignore_Table: 
   Replicate_Wild_Do_Table: 
Replicate_Wild_Ignore_Table: 
               Last_Errno: 0
               Last_Error: 
             Skip_Counter: 0
      Exec_Master_Log_Pos: 4514237
            Relay_Log_Space: 1116193
            Until_Condition: None
             Until_Log_File: 
             Until_Log_Pos: 0
         Master_SSL_Allowed: No
         Master_SSL_CA_File: 
         Master_SSL_CA_Path: 
            Master_SSL_Cert: 
          Master_SSL_Cipher: 
             Master_SSL_Key: 
      Seconds_Behind_Master: 0
1 row in set (0.00 sec)
ERROR: 
No query specified
如果slave_IO_running,slave_SQL_Running状态为Yes则表明设置成功。

你可能感兴趣的:(mysql,数据库,centos,数据同步,休闲)