欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

linux下指定mysql数据库服务器主从同步的配置实例

程序员文章站 2024-03-31 10:57:04
一、 概念: ① 数据库同步  (主从同步 --- 主数据库写的同时 往从服务器写数据)② 数据库同步  (主主同步 --- 两台数据库服务器互相写数据...

一、 概念:
① 数据库同步  (主从同步 --- 主数据库写的同时 往从服务器写数据)
② 数据库同步  (主主同步 --- 两台数据库服务器互相写数据)

二、 举例
数据库服务器(a) 主数据库   ip:192.168.1.134
数据库服务器(b) 主数据库   ip:192.168.1.138
两台服务器同步的用户名为: bravedu    密码: brave123

一、主数据库操作设置(a):
① 创建同步用户名 允许连接的 用户ip地址  (非本机ip)

复制代码 代码如下:

grant replication slave on *.* to 'bravedu'@'192.168.1.%' identified by 'brave123';
flush privileges;

② 更改mysql配置文件
复制代码 代码如下:

[mysqld] 
server-id = 1 
log-bin=/www/mysql/binlog/binlog (路径要根据自己的安装设置)
binlog-do-db = dbname (要同步的数据库名)
binlog-ignore-db=mysql

重启mysql服务器

③ 查看主数据库同步状态

复制代码 代码如下:

mysql>flush tables with read lock; 
mysql>show master status\g
*************************** 1. row ***************************
  file: mysql-bin.000001    (这里注意 设置从服务器的时候要用)
  position: 106   (这里注意设置从服务器的时候要用)
  binlog_do_db: dbname
  binlog_ignore_db: mysql
  1 row in set (0.00 sec)

mysql>unlock tables;
*******主服务器到目前位置设置完毕***********

二、从数据库操作设置(b):

① 创建同步用户名

复制代码 代码如下:

grant replication slave on *.* to 'bravedu'@'192.168.1.%' identified by 'brave123';
flush privileges;

② 更改mysql配置文件   
复制代码 代码如下:

[mysqld] 
server-id = 2 
log-bin=/www/mysql/binlog/binlog (路径要根据自己的安装设置)
binlog-do-db = dbname (要同步的数据库名)
binlog-ignore-db= mysql,information_schema

重启mysql服务器

③  指定主从数据库服务器同步指令
注: ip为主服务器的ip,用户名,密码,log_file,log_post 都和主服务器统一
可能这块操作 需要先  解除锁表、停止数据库状态、在运行后 在启动状态

复制代码 代码如下:

mysql > stop  slave;
mysql > change master to master_host='192.168.1.134', master_user='bravedu', master_password='brave123', master_log_file='mysql-bin.000001', master_log_pos=106;
mysql > start slave;
mysql > unlock tables;

④ 查看主数据库同步状态  会出来很多信息 但是主要看这两个状态就行了 如果都是 yes 就可以了
复制代码 代码如下:

mysql>show slave status\g;
slave_io_running: yes
slave_sql_running: yes

至此,主从数据库同步配置完成。