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