Mysql主从服务器搭建

来源:互联网 发布:网络舆论的利与弊 编辑:程序博客网 时间:2024/06/11 21:56

Mysql主从服务器搭建

为便于数据库的迁移,现搭建Mysql主从服务器搭建。

1.机器说明

   10.15.62.209(主,ubuntu 12.04 64bit);   10.15.62.32(从,server 2008 64 bit)。   因为目前都在209上开发,所以,选择209作为主服务器。

2.Mysql版本

   网上有说法:从服务器的mysql版本不能低于主服务器的mysql版本。   这里都使用了5.5.31(>5.1,网上常见的方法都只适用于5.1版本及以下)。

3.配置主服务器

 (1)   vim /etc/mysql/my.cnf   去掉[mysqld]段中 server_id =1 和log_bin=/var/log/mysql/mysql-bin.log的#注释   加上  binlog-do-db = tcm        tcm就是要同步的数据库的名称,如果没有这一行,表示同步所有的数据.   另外 binlog_ignore_db = mysql。要表示忽略同步的数据库名称为mysql,如果有多个要指定同步或是忽略同步的数据,就配置多行,保存退出。 (2)创建一个复制用的账户(用户名和密码分别是slave32)     GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave32'@'10.15.62.32' IDENTIFIED BY 'slave32';     FLUSH PRIVILEGES; (3)重启mysql     sudo /ets/init.d/mysql restart
  (4) 进入mysql,然后用 show master status 查看二进制日志的状态,看到类似以下的结果(记住加粗的部分):         +------------------+----------+--------------+------------------+         | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |         +------------------+----------+--------------+------------------+         | mysql-bin.000001 |     107  | tcm          |                  |         +------------------+----------+--------------+------------------+


4.配置从服务器

   (1)在mysql下找到my.ini文件,在其[mysqld] 下添加从服务器端配置:        server-id=2    #服务器 id ,不能和主服务器一致        replicate-do-db=tcm    #待同步的数据库    (2)重启mysql        net stop mysql;        net start mysql;    (3)进入mysql,执行         CHANGE MASTER TO MASTER_HOST='10.15.62.209', MASTER_USER='slave32',Master_Port=3306,MASTER_PASSWORD='slave32',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=107;         SLAVE START;       注意:上面的CHANGE语句中,MASTER_LOG_FILE和MASTER_LOG_POS就是上面中提到的show master status命令得到的结果,指定二进制文件的名称和开始同步的位置。    (4)查看SLAVE状态:    show slave status\G        如果:Slave_IO_Running: Yes             Slave_SQL_Running: Yes        则表示正常。
原创粉丝点击