思路:云主机还在测试中;便打算配置一个数据库的主从复制,主从之间网站程序一样。
主数据库服务器: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
无法连接 我们要进入防火墙开启权限:登录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; 查看到系统所有数据库
测试主数据:(首先重启一下数据库)
Service mysql restart
Mysql>c 便可以看到生成的日志文件file:mysql-bin。000005; position:5438274 和binlog-do-db列出需要同步的数据库,binlog-ignore-db为不需要同步的数据库
三、修改从数据库服务器配置文件
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= //不需要同步的数据库
测试:(测试前重启一下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; //这是手动连接的一种方法
四 、测试数据同步情况
主服务器: 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;
同步成功,至此一个简单的数据库同步服务器便建立起来了。
|