Ubuntu 下构建mysql8.0 主从复制
Posted weichenglan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu 下构建mysql8.0 主从复制相关的知识,希望对你有一定的参考价值。
主从复制原理:从机(slave)通过读取和同步主机(master)上的二进制日志上的事件(events),在从机本地的数据库中来重现(也可理解为重做)这些操作,从而达到复制的效果。
本人使用的是在windows上挂在两台 ubuntu 18.04虚拟机 mysql8.0
一:安装mysql 8.0
mysql 8.0 安装:
1、https://dev.mysql.com/downloads/repo/apt/
拖到最底部
2、运行命令
1 sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb (根据你下载的文件名做出相应的更改) 2 sudo apt update
3、sudo apt install mysql-server
4、输入root密码
这一步需要注意,如果没有该步骤让你输入root密码就得重新安装一遍,反正我第一遍安装没提示输入root密码,导致后面用文件中的密码登录失败,最后修改root密码还是一直失败。最后重新安装一遍就OK了
二、搭建主从复制:
1、配置主机(Setting the Replication Master Configuration)
1.1、vim /etc/mysql/mysql.conf.d/mysqld.cnf # 编辑默认的配置文件
1.2、在文件中的mysqld的组中添加一个选项:
[mysqld]
server-id = 456
server-id = 456 #配置主机的server-id 为 456 主机server-Id 可任意配置,默认为0,如果配置主机的server-id是0,那么它将会拒绝任何从机的连接
Ps:执行该步骤
指令:
Insert:进入编辑状态
Shift + “;” :退出编辑
Wq:保存
1.3、上步骤保存之后,执行以下命令,重启Mysql服务
service mysql restart
1.4、重新登录MySQL客户端,执行下面的命令
show variables like ‘%server_id%‘
2、从机配置(Setting the Replication Slave Configuration)
从机配置同主机一致
3、为复制创建用户(Creating a User for Replication)
登录主机MySQL客户端
3.1、给主机创建从机用户
create user ‘repl_slave‘@‘202.192.63.61‘ identified by ‘password‘;
‘repl_slave’:从机用户名
‘202.192.63.61‘ :从机IP
‘password‘:从机数据库密码
3.2、创建完用户,赋予权限
grant replication slave on *.* to ‘repl_slave‘@‘202.192.63.61‘
Mysql 8.0 默认的密码格式为:’mysql_native_password’
3.3、主机上执行命令
show master status;
记住这两个值,后面配置有用
4、在从机上建立主机的配置(Setting the Master Configuration on the Slave)
其中master_log_file和master_log_pos为上一步查询对应的两个值;
注意:每次服务器重启需要查询主机的日志,即执行指令:show master status;
先stop slave;然后从机上重新配置参数,start slave 执行一次
以上是关于Ubuntu 下构建mysql8.0 主从复制的主要内容,如果未能解决你的问题,请参考以下文章