环境Centos7.6 ,mysql8.0

Mysql主从配置

1.1 配置环境:

本人在vm下做的实验,linux版本是centos的7.0版本,然后Mysql版本为此时较新的8.0.13版本。做最为基础的Master-Slave实验,其中两台虚拟机的IP地址如下:

192.168.106.131---Master,192.168.106.132--Slave

1.2安装Mysql:

8.0以后的版本安装与之前差异较大,绿色版安装详情见这里

mysql主从配置前提条件要求:

1、服务器版本一致

2、主服务器日志必须二进制

3、主服务器-从服务器库的数据要求一致

4、从数据库不能做写操作

2.主服务器配置

2.1、修改my.cnf,添加

[mysqld]

log-bin=mysql-bin

server-id=1

2.2、重启mysql服务

service mysqld restart

2.3、配置mysql

在mysql数据库中,建立用户同步数据库的账号:

create user 'repl'@'%' identified with 'mysql_native_password' by '123456';

TIPS:此处有坑!!!,详情见附录!!!

给repl用户权限:

GRANT replication slave ON *.* TO 'repl'@'%';

GRANT ALL privileges ON *.* TO 'repl'@'%';

flush privileges;

查看mysql主服务器日志:

show master status

show master status\G(均可)

 
 

记录下File和Position的值,一会儿再从服务器上配置时使用。

3.从服务器配置

3.1、修改my.cnf,添加

[mysqld]

log-bin=mysql-bin

server-id=2

3.2、重启mysql.server服务

service mysqld restart

3.3、在从服务器设置主服务器,实现主从配置

  1. change master to master_host='192.168.106.131',master_user='root',master_password='P@ssw0rd',master_log_file='mysql-bin.000001' ,master_log_pos=155;

CHANGE MASTER TO

MASTER_HOST='192.168.106.131',#Master的ip

MASTER_USER='repl',#你创建的用户

MASTER_PASSWORD='123456',#password

MASTER_LOG_FILE='mysql-bin.000003',#主服务器上的File

MASTER_LOG_POS=155;#刚刚保存的position

3.4、开启主从

start slave

3.5、检查从服务器状态

show slave status\G

 
 

只需要关注这两个参数是否为Yes,其他状态No,connecting均代表有错误!根据错误代码,去检查不同的错误

但一般就三种:

1、网络不通

2、密码不对

3、pos不对

 
(附录提及error:2061)

最后测试就不再测试了,只要上面两个参数为Yes就不会有错误。

Last_IO_Errno:2003

的错误为连接不上数据库,此时可以试着远程连接
 
  1. mysql -uroot -pc10udch3f -h192.168.88.50 -P3306

1、查看该用户是否有远程登录的权限

  1. mysql> SELECT User, Host FROM mysql.user;
  2. +-----------+-----------+
  3. | User | Host |
  4. +-----------+-----------+
  5. | tt | % |
  6. | mysql.sys | localhost |
  7. | root | localhost |
  8. | Laily | |
  9. | ttt | |
  10. +-----------+-----------+
  11. 5 rows in set (0.00 sec)

很显然,tt 是允许从其它服务器登陆的。

2、查看 MySQL Server 是不是监听了 3306 端口

  1. [root@centos-linux ~]# netstat -tulpen
  2. Active Internet connections (only servers)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
  4. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 16801 1507/sshd
  5. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 17222 1970/master
  6. tcp6 0 0 :::3306 :::* LISTEN 27 46396 22054/mysqld
  7. tcp6 0 0 :::22 :::* LISTEN 0 16803 1507/sshd
  8. tcp6 0 0 ::1:25 :::* LISTEN 0 17223 1970/master
  9. udp 0 0 0.0.0.0:68 0.0.0.0:* 0 49600 22999/dhclient
  10. udp 0 0 0.0.0.0:43504 0.0.0.0:* 0 48850 22999/dhclient
  11. udp6 0 0 :::47875 :::* 0 48851 22999/dhclient

我在这里也没有问题,这里如果没有监听3306端口或者只监听了localhost(0.0.0.0表示监听所有),则在my.cnf添加下面这一行

  1. bind-address = 0.0.0.0

3、如果服务器是 CentOS7,将 MySQL 服务加入防火墙

  1. [root@centos-linux ~]# sudo firewall-cmd --zone=public --permanent --add-service=mysql
  2. success
  3. [root@centos-linux ~]# sudo systemctl restart firewalld

我的重启防火墙之后就能正常访问了。

其他的主从问题

参考:

https://www.jianshu.com/p/1c92f28141b0

https://my.oschina.net/Laily/blog/712958

 

Mysql8.0主从配置的更多相关文章

  1. redis5.0主从配置

    1.下载 wget http://download.redis.io/releases/redis-5.0.3.tar.gz .tar.gz cd redis- make make test //检查 ...

  2. CentOS7.5 上使用 bundle 文件安装 MySQL8.0 MySQL5.0

    CentOS7.5 上使用 bundle 文件安装 MySQL8.0 MySQL5.0 CentOS7.5 环境 [root@instance-fjii60o3 ~]# rpm -qi centos- ...

  3. win10安装两个不同版本的mysql(mysql5.7和mysql-8.0.19)

    win10中安装mysql5.7后,安装mysql-8.0.19 在D:\mysql-8.0.19-winx64目录下创建一个my.ini文件 [mysqld] # 设置3307端口 port # 设 ...

  4. MySQL8.0解决“MySQL 服务无法启动。 服务没有报告任何错误。”

    TL;NRs 初始化服务时最好使用mysqld --initialized --console命令: MySQL8.0的配置变量与MySQL5.7不同,[mysqld]下面设置字符集的变量名为char ...

  5. MySQL8主从配置

    最近在看MySQL的主从配置,罗列一下过程. 一.环境介绍 我使用的是两个MySQL8.0.13Windows版,Master和Slave安装的在一个机器上,Master库的端口为3306,Slave ...

  6. MySQL8.0.12 安装及配置、读写分离,主从复制

    一.安装 1.从网上下载MySQL8.0.12版本,下载地址:https://dev.mysql.com/downloads/mysql/ 2. 下载完成后解压 我解压的路径是:D:\Java\mys ...

  7. 基于mysql-8.0.16-winx64的主从搭建

    1.主服务器的my.ini文件内容:[mysqld]# 主库和从库需要不一致server-id=1log-bin=mysql-bin# 同步的数据库binlog-do-db=master-slave# ...

  8. Linux安装Mysql8.0.20并配置主从复制(一主一从,双主双从)

    1. 主从复制解释   将主数据库的增删改查等操作记录到二进制日志文件中,从库接收主库日志文件,根据最后一次更新的起始位置,同步复制到从数据库中,使得主从数据库保持一致. 2. 主从复制的作用 高可用 ...

  9. Docker部署Mysql8.0.20并配置主从复制

    1. Linux安装Mysql8.0.20并配置主从复制(一主一从,双主双从)   Linux安装Mysql8.0.20并配置主从复制(一主一从,双主双从) 2. 前提准备 # 创建主从数据库文件夹 ...

随机推荐

  1. iGPT and ViT

    目录 概 主要内容 iGPT ViT 代码 Chen M., Radford A., Child R., Wu J., Jun H., Dhariwal P., Luan D., Sutskever ...

  2. Spurious Local Minima are Common in Two-Layer ReLU Neural Networks

    目录 引 主要内容 定理1 推论1 引理1 引理2 Safran I, Shamir O. Spurious Local Minima are Common in Two-Layer ReLU Neu ...

  3. uniapp以及微信小程序中scroll-view隐藏滚动条 自定义滚动条

    隐藏滚动条 1.全局隐藏滚动条,在app.vue中 ::-webkit-scrollbar{ display: none; } 2.局部隐藏藏滚动条 样式没有使用scoped属性时, 否则无效. .u ...

  4. IT6516功能兼容芯片|DP转VGA方案|CS5202替代兼容IT6516

    台湾联阳T6516是一种高性能的DP显示端口到VGA转换器方案芯片.IT6516结合DisplayPort接收器和三重DAC,通过转换功能支持DisplayPort输入和VGA输出.内置Display ...

  5. Windows10中同时安装MySQL5和MySQL8

    Windows10中同时安装MySQL5和MySQL8 同时安装的话,在执行mysql install要注意加名字,比如:mysqld --install MYSQL5 MySQL-5.5.54 ZI ...

  6. .net core的配置介绍(二):自定义配置(Zookeeper,数据库,Redis)

    上一篇介绍了.net core的配置原理已经系统提供的一些常用的配置,但有时我们的配置是存放在Zookeeper,DB,Redis中的,这就需要我们自己去实现集成了. 这里再介绍几个我们用的多的配置集 ...

  7. 可观察对象(Observable)

    最简示例: export class AppComponent { title = 'angular-tour-of-heroes'; // Create an Observable that wil ...

  8. Linux中安装java JDK

    Linux中安装java JDK 1.下载jdk 下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads. ...

  9. spring cloud bus 消息总线 动态刷新配置文件 【actuator 与 RabbitMQ配合完成】

    1.前言 单机刷新配置文件,使用actuator就足够了 ,但是 分布式微服务 不可能是单机 ,将会有很多很多的工程 ,无法手动一个一个的发送刷新请求, 因此引入了消息中间件 ,常用的 消息中间件 是 ...

  10. Word2010制作课程表

    原文链接:https://www.toutiao.com/i6487759634751816205/ 插入表格: 选择"插入"选项卡,"表格"功能组," ...