raksmart活动促销

分享

写回答

发帖

mysql主从服务器的配置案例

国外服务器 国外服务器 2040 人阅读 | 0 人回复

发表于 2014-11-17 10:40:32 | 显示全部楼层 |阅读模式

思路:云主机还在测试中;便打算配置一个数据库的主从复制,主从之间网站程序一样。
主数据库服务器:server01   50.22.77.4
从数据库服务器:server02   50.22.77.12
案例实施:
一、创建同步用户(主服务器)

Mysql>grant replication slave on *.* to 'slave'@'50.22.77.4' identified by 'slave';
Mysql>flush privileges;
到从服务器远程测试一下:mysql –h 50.22.77.4 –u slave –p

QQ截图20141117102733.png


无法连接
我们要进入防火墙开启权限:登录WHM ,进入ConfigServerSecurity&Firewall ,进入Firewall Allow IPs,加入如下语句:
tcp|in|d=3306|d=50.22.77.12 #slaveserver

二 、 修改主数据库服务器配置文件

Vi /etc/my.cnf
我们增加行
server-id =1          //一般主服务器id设为1
log-bin=mysql-bin       //设置主服务器支持日志功能
binlog-do-db=        //设置需要同步的数据库
binlog-ignore-db=   //设置不需要同步的数据库,一般mysql和information_schema是不需要同步的,因为它是系统自带的默认数据库。通过mysql>show databases;  查看到系统所有数据库

QQ截图20141117102929.png


测试主数据:(首先重启一下数据库)
Service mysql restart
Mysql>c
便可以看到生成的日志文件filemysql-bin000005 position5438274 binlog-do-db列出需要同步的数据库,binlog-ignore-db为不需要同步的数据库

QQ截图20141117103012.png


三、修改从数据库服务器配置文件

Vi /etc/my.cnf
增加行:
Server-id=2                       //从服务器id         
log-bin=mysql-bin                 //支持日志
master-host=50.22.77.4               //主服务器ip
master-user=slave                 //主服务器的数据库连接名
master-password='slave'          //连接的用户密码
master-port=3306              //连接的端口
replicate-do-db=test             //同步的数据库
replicate-ignore-db=           //不需要同步的数据库

QQ截图20141117103125.png


测试:(测试前重启一下mysql服务器)
Service mysqlrestart
Showslave status
如果  Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
则说明连接正确。如果不正确则需要重新连接。
Mysql>slavestop;
Mysql>change masterto  master_log_file='mysql-bin.000005', master_log_pos=5438274;
Mysql>slavestart;     //这是手动连接的一种方法

QQ截图20141117103234.png

四 、测试数据同步情况

主服务器:
Mysql>use wholesal_blog
Mysql>createtables test (id int,name varchar(10));
Mysql>insertinto test values(10,’hello’);
从服务器:
Mysql>use wholesal_blog
Mysql>select *from test;

QQ截图20141117103316.png


同步成功,至此一个简单的数据库同步服务器便建立起来了。

您需要登录后才可以回帖 登录 | 注册

本版积分规则