CentOS6.8下配置MySQL8.0.12的主从同步详解

本文详细介绍了在CentOS6.8环境下配置MySQL8.0.12主从同步的过程,包括部署环境、安装、配置及可能出现的问题和解决方案。在配置过程中,遇到的主要问题包括错误码2061和2003,解决这些问题需要检查网络、用户权限、密码、日志位置等。通过本文,读者可以了解到MySQL主从同步配置的关键步骤和常见问题处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近由于公司需要,自己在本地尝试了一下MySQL最新社区版本的主从同步的搭建配置过程,在搭建的过程中还是遇到了很多的问题,现在记录如下:

一、MYSQL主从配置

1.1 部署环境

     主(master): 192.168.11.179     OS:CentOS 6.8 
     从(slave2): 192.168.11.177     OS:CentOS 6.8
     mysql的版本:社区版8.0.12

1.2 安装mysql

​ 在我之前的博客中已经有了详细的叙述,详见这里

1.3 配置

### 1.3.1 master节点的配置

vim /etc/my.conf
server-id=121 #设置主服务器的ID,可以任意配置但是多个主从之间不能重复
innodb_flush_log_at_trx_commit=2  #
sync_binlog=1  #开启binlog日志同步功能
log-bin=mysql-bin-121 #binlog日志文件名(可以任意命名)
binlog-do-db=xxxx  # 这个表示只同步某个库 (如果没有此项,表示同步所有的库)
# 还有一个参数是指定不同步哪些库,这里不再赘述

   相关配置项还有很多,如果需要,可以参考这里,这里给出了MySQL的配置文件几乎常用的全部配置项以及说明

1.3.2 配置完后,重启主节点数据库

service mysqld restart
如果开启远程可以略过这步
mysql -uroot -p ##登录mysql
mysql>grant replication slave on *.* to 'mark'@'192.168.11.177' identified by '123456'; ##这句话的本意是:授权给从数据库服务器192.168.1.201,用户名mark,密码123456;但是在MySQL8.0的版本中执行不通过,原因是8.0中的创建命令和赋权命令已经完成分开了,现在网上说的所谓的8.0的安装几乎都没有说明这一点,但是我这边尝试的结果就是这种方式是不行的,需要将命令改变如下:
create user '用户名'@'访问主机' identified by '密码'; #创建账户
grant 权限列表 on 数据库 to '用户名'@'访问主机';# (修改权限时在后面加with grant option) 赋予权限:
mysql>show master status ; ##查看主库的状态 file,position这两个值很有用。要放到slave配置中
mysql> show master status;
+-------------------+----------+--------------+------------------+-------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000004 |     2029 |              |                  |                   |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

这里要记录下file和position两个属性,因为这两个属性需要在slave中的配置中进行指定;

1.3.3 配置从库服务器

vim /etc/my.cnf
server-id=122
innodb_flush_log_at_trx_commit=2
sync_binlog=1
log-bin=mysql-bin-122

1.3.4 配置完后,重启从节点的mysql

service mysqld restart
mysql -uroot -p
mysql>stop slave;
mysql> change master to master_host='192.168.11.179',master_user='replicator',master_password='123456',master_log_file='master-bin.000004',master_log_pos=2029;
mysql> start slave; #开启从库 (stop slave:关闭从库)
mysql> show slave status \G; #Slave_IO_Running,Slave_SQL_Running 都为Yes的时候表示配置成功

 完成上述配置后,你有可能看到的配置项已经是成功的了,如下所示:

mysql> show slave status\G
*************************** 1. row ***************************
    
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值