1.

  mysql

2.

 

2.1

2.1.1

停数据库

#mysql.server stop

数据库配置文件,通常为 /etc/my.cnf

#vi /etc/my.cnf

找到 server-id 配置项,一般在 [mysqld]

增加:

server-id=1

log-bin=/var/db/mysql/master.log //BIN日志路径

#binlog-do-db=要同步的数据库名称  //不写就同步全部。如果备份多个数据库,重复设置这个选项即可

#binlog-ignore-db = mysql //忽略的数据库,如果不备份多个数据库,重复设置这个选项即可

 启动数据库

#mysql.server start

mysql> show master status;//查看主服务器状态

2.1.2

在主服务器上创建从服务器同步数据要的帐号,如果多台,建议统一帐号便于管理。

一般创建帐号命令如下:

grant replication slave,reload,super,select on *.* to "用户名"@"从数据库地址" identified by "密码"

其中红色部分为帐号权限,蓝色部分为需要自行定制的帐号密码已经从数据库服务器 IP

这一步也可以通过 phpadmin

2.2

停数据库

#mysql.server stop

#vi /etc/my.cnf

找到 server-id 配置项,一般在 [mysqld]

增加:

server-id=2

master-host=主数据库服务器地址

master-user=连接主服务器的帐号

master-password=连接主服务器的密码

master-port=3306

master-connect-retry=60

#replicate-do-db=要同步的数据库 //如果备份多个数据库,重复设置这个选项即可

#replicate-ignore-db=不同步的数据库 //如果不备份多个数据库,重复设置这个选项即可

 启动数据库:

#mysql.server start

mysql> show slave status G; //查看从数据库状态

3.

3.1 rsync

将主数据库目录下数据库文件拷贝到从数据库目录下,可以通过 rsync 或者通过 scp 等方式拷贝,这里建议使用 rsync

配置主数据库服务器 rsync

#apt-get install rsync

 编辑配置文件

#vi /etc/rsyncd.conf

 将下面内容加入进去配置好:

uid = root

gid = root

use chroot = no

max connections = 50

syslog facility = local5

pid file = /var/run/rsyncd.pid

log file = /var/log/rsyncd.log

 

[访问的名称]

        path = 要同步的数据库目录路径

        comment = 说明

        hosts allow =  允许的访问地址

配置从数据库 rsync

#apt-get install rsync

同步数据:

登陆主服务器锁库:

mysql> FLUSH TABLES WITH READ LOCK;
#rsync –av 主服务器地址 :: 访问的名称   从服务器数据库目录




例如:

#rsync –av 202.205.109.1::db3  /home/mysql/db3/

完成后解锁:

登陆主数据库解锁:

mysql>UNLOCK TABLES;

3.2

当配置好主和从数据库后,先主数据库服务器表:

登陆主服务器锁库:

mysql> FLUSH TABLES WITH READ LOCK;

 登陆从数据库运行:

mysql>load data from master;

这个过程很慢,根据数据库大小不同,镜像时间不同,不建议使用,完成后解锁

登陆主数据库解锁:

mysql>UNLOCK TABLES;

4.

在主库新建一个表或者创建个数据库,到从库查看,并查看下日志和运行状况等,如果没有问题表示成功