数据库数据同步和主主同步脚本使用说明

数据库数据同步和主主同步脚本使用说明

1.脚本目录介绍

startDataBaseSync.sh    数据库数据同步,保证配置主主前两台服务器数据库的数据一致。  
startMasterSync.sh      mysql主主同步脚本  
checkSlaveStatus.sh     检测主主同步状态
config.sh               执行脚本所需要的配置

2.config.sh配置文件说明

此处A,B前缀的区别为:执行脚本的服务器使用A前缀的配置项,不执行脚本的服务器使用B前缀的配置项

A_HOST                  A服务器的IP
A_USER                  A服务器的用户
A_MYSQL_DIR             A数据库安装的bin目录    
A_MYSQL_IP              A数据库服务器登录IP(默认127.0.0.1不用修改)
A_MYSQL_USER            A数据库登录账号
A_MYSQL_PASS            A数据库登录密码
A_REMOTE_MYSQL_USER     远程访问A数据库账号
A_REMOTE_MYSQL_PASS     远程访问A数据库登录密码
A_MYSQL_PORT            A数据库端口
A_SERVER_ID             指定主机ID,不可为0,不可与其他服务器的该配置重复

B_HOST                  B服务器的IP
B_USER                  B服务器的用户
B_MYSQL_DIR             B数据库安装的bin目录
B_MYSQL_IP              B数据库所在服务器IP(默认127.0.0.1不用修改)
B_MYSQL_USER            B数据库登录账号
B_MYSQL_PASS            B数据库登录密码
B_REMOTE_MYSQL_USER     远程访问B数据库账号
B_REMOTE_MYSQL_PASS     远程访问B数据库登录密码
B_MYSQL_PORT            B数据库端口
B_SERVER_ID             指定主机ID,不可为0,不可与其他服务器的该配置重复

SYN_LOG                 执行同步脚本产生日志的存放路径
SYN_DATEBASE            同步数据的数据库名
DATA_BACK_PATH          数据库备份文件存放路径

3.执行脚本前的准备

(1) 配置主主同步的两台数据库需要打开远程访问,保证两台数据库能够相互访问到。
(2) 如果之前已经配置过主备或主主,需要在两台服务器的数据库上停止同步线程(STOP SLAVE;)
(4) 两台服务器的防火墙需要放行mysql远程访问端口。

4.执行脚本

使用两台MySQL服务器(以下对两台MySQL服务器分别简称为A、B)

例如:
以A的数据库数据为基准,将A的数据同步到B;
以A的服务器为基准,配置主主同步。

  1. 将脚本上传到A服务器的任意目录下。
  2. 修改config.sh中的配置信息,其中前缀为A的配置项对应A服务器的信息。
  3. 执行startDataBaseSync.sh(数据同步脚本),如果以保证两台服务器数据库数据一致,可不执行次脚本。
  4. 执行startMasterSync.sh(主主同步脚本)。
  5. 执行checkSlaveStatus.sh(检测主主同步状态脚本),如果显示两台服务器同步正常,主主同步配置成功。

注:

  1. 执行startDataBaseSync.sh过程中,会出现输入数据库密码,此时要输入的密码是数据库本地登录密码,非数据库远程访问密码,对应config.sh中A_MYSQL_PASS配置选项中填入的密码。
  2. 在执行startDataBaseSync.sh和startMasterSync.sh脚本中,会提示多次输入另一台服务器的登录密码,按照提示输入正确的服务器访问密码即可。
  3. 上传脚本的服务器对应config.sh前缀为A配置项。

5.常见错误排查

1. config.sh中数据库登录的账号或密码填写错误。
2. config.sh中SYN_DATEBASE(同步数据的数据库名)未填写或填写错误。
3. config.sh中DATA_BACK_PATH(数据库备份文件存放路径)未填写或填写错误。
4. 两台服务器的远程访问未开启或远程访问账号密码错误。

6.附录

1.数据库开启远程访问步骤:

1 ) /usr/local/mysql/bin/mysql -u USER -p**PWD** -e “grant all privileges on . to root@’%’ identified by ‘R_PWD’”
2) vi /etc/my.cnf (改127.0.0.1 为 0.0.0.0)
3) service mysqld restart (重启mysql)

其中:

/usr/local/mysql/bin/mysql 为mysql安装的bin目录

USER mysql的登录账号

PWD mysql的登录密码

R_PWD 远程访问密码

0.0.0.0 所有服务器都可访问,可以修改成固定服务器访问。

你可能感兴趣的:(mysql)