mysql 主从库配置(mysql版本 5.1.71)

查看mysql  版本号 mysql -V

Mysql的主从复制至少是需要两个Mysql的服务,可以是分布在不同的服务器上的服务,也可以在一台服务器上启动多个服务。

首先确保主从服务上的Mysql版本相同。

一、配置mysql主从同步

准备两台测试的虚拟机,如上安装mysql环境,并开启mysql服务

主master : 10.254.30.159

从slave  :   10.254.30.152

1、配置主库:

1)、授权给从数据库服务器

mysql>GRANT REPLICATION SLAVE ON *.* to 'root'@'10.254.30.152' identified by '123456';
mysql>FLUSH PRIVILEGES;

2)、修改主库配置文件,开启binlog,并设置server-id,每次修改配置文件后都要重启mysql服务才会生效

vim /etc/my.cnf

在该配置文件[mysqld]下面添加下面内容:

复制代码
[mysqld]
log-bin=/var/log/mysql-bin-log
server-id=1
binlog-do-db = springboot_demo


datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
......
复制代码

server-id:master端的ID号;

log-bin:同步的日志路径及文件名,一定注意这个目录要是mysql有权限写入的(我这里是偷懒了,直接放在了下面那个datadir下面);

binlog-do-db:要同步的数据库名

还可以显示 设置不同步的数据库:

binlog-ignore-db = mysql 不同步mysql库和test库
binlog-ignore-db = test

 

修改配置文件后,重启服务:service mysqld restart

如果启动失败,通过cat /var/log/mysqld.log | tail -30  查看mysql启动失败的日志,从日志内容寻找解决方案

3)、查看主服务器当前二进制日志名和偏移量,这个操作的目的是为了在从数据库启动后,从这个点开始进行数据的恢复

复制代码
mysql> show master status;
+---------------+----------+--------------+------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| binlog.000001 |     1304 | cmdb         |                  |
+---------------+----------+--------------+------------------+
1 row in set (0.00 sec)
复制代码

主服务器已配置好。

 

2、配置从库

1)、理所当然也是从配置文件着手,在/etc/my.cnf 添加下面配置:

复制代码
[mysqld]
server-id=2
master-host=10.254.30.159
master-user=root
master-password=123456
master-port=3306
replicate-do-db=springboot_demo


2)、在从库,启动slave进程

mysql> slave start;
Query OK, 0 rows affected (0.04 sec)

3)、查看slave的状态,如果下面两项值为YES,则表示配置正确:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

mysql 主从库配置(mysql版本 5.1.71)_第1张图片

从库正在等待主库更新数据。。。Waitin for master to send event...


至此已经配置成功 在主库插入更新记录,查看从库,数据已经被更新和新增,此mysql 版本较低,会有一些问题,待续……明天写




你可能感兴趣的:(搭建基本配置)