linux系统mysql主从服务器配置

最近一台服务器数据库被黑客攻击,此服务器单MYSQL数据库表被全部删除,耗费两天时间才把所有被删除数据找回来,所以有了配置数据库主从服务器的想法,让数据不在丢失。

MYSQL主从服务器很简单,MySQL主从又叫做Replication、AB复制。

简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步。
MySQL主从是基于binlog的,主上须开启binlog才能进行主从。

目标:搭建两台MySQL服务器,一台作为主服务器,一台作为从服务器,实现主从复制

环境:
主数据库: 192.168.1.101(A)
从数据库: 192.168.1.102  (B)

首先,两台服务器数据库版本尽量保持一致,这里就不写如何安装了。

配置步骤:

1、保证两个数据库中的库和数据是一致的;(可以直接把A的数据先导入到B服务器)

2、在主数据中创建一个同步账号(可不创建使用现有的),如果仅仅为了主从复制创建账号,只需要授予REPLICATION SLAVE权限。
创建一个账号,账号:hua 密码: hua@123

CREATE USER 'hua'@'%' IDENTIFIED BY 'hua@123'; GRANT REPLICATION SLAVE ON *.* TO 'hua'@'%' IDENTIFIED BY 'hua@123' WITH GRANT OPTION;

3、配置主服务器数据库A

打开my.cnf

log-bin=mysql-bin #开启日志
server-id=1   #可自定义有用
binlog-do-db=huaxi  #要同步的mstest数据库
binlog-ignore-db=mysql #要忽略的数据库
innodb_flush_log_at_trx_commit=1
sync_binlog=1

4、完成A的配置后需要重启A服务器的数据库

5、登录A服务器mysql查看状态

show master status;

File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+-------------------------------------------------------------+
| mysql-bin.000001 | 1106 | hua

注意:记录好File和Position,后面要用

6、开始配置从服务器数据库B

打开my.cnf配置如下信息

server-id=2
replicate-do-db=huaxi #同步的库
replicate-ignore-db=mysql #忽略的库

7、重启从服务器数据库B

8、登录从服务器数据库B输入如下命令

stop slave;

CHANGE MASTER TO MASTER_HOST='192.168.1.101', MASTER_USER='hua', MASTER_PASSWORD='hua@123',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=1106;

start slave;

请一步一步执行

最后执行查看是否配置成功

show slave status;

里面显示有: Slave_SQL_Running: Yes 表示配置成功

如果为NO

多执行如下命令

stop slave;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave;

 

本文由 我爱PHP169 作者:admin 发表,其版权均为 我爱PHP169 所有,文章内容系作者个人观点,不代表 我爱PHP169 对观点赞同或支持。如需转载,请注明文章来源。

发表回复