mysql8.0主从复制搭建与配置方案

 更新时间:2022年09月30日 08:32:38   作者:天山琴子  
MySQL主从复制是一个异步的复制过程,就是有两个数据库服务器,一个是主(master)数据库服务器,另一个是从(slave)数据库服务器。

mysql主从搭建

环境:ubuntu20.04.1,mysql:8.0.22。
主:192.168.87.3
备:192.168.87.6

安装数据库

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

数据库配置

设置数据库密码

首次安装后,使用sudo mysql -uroot -p直接进入,更改root密码操作如下:

use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;

主库设置

配置/etc/mysql/mysql.conf.d/mysqld.cnf如下:

[mysqld]

user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid
socket	= /var/run/mysqld/mysqld.sock
port		= 3306
datadir	= /var/lib/mysql


bind-address		= 192.168.87.3 # 本机ip
mysqlx-bind-address	= 127.0.0.1


key_buffer_size		= 16M

myisam-recover-options  = BACKUP

max_connections        = 1000

log_error = /var/log/mysql/error.log

server-id		= 1
log_bin			= /var/log/mysql/mysql-bin.log
max_binlog_size   = 100M
binlog_do_db          = test
binlog_ignore_db      = mysql
binlog_format = row
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1

更改完后重启数据库

systemctl restart mysql.service

创建同步账号

CREATE USER 'sync'@'192.168.87.6' IDENTIFIED WITH mysql_native_password BY 'sync';
grant replication slave on *.* to 'sync'@'192.168.87.6';

192.168.87.6为从数据库的IP。

查看配置是否生效

创建数据快照

mysqldump --all-databases --master-data > dbdump.db

–master-data这个选项会自动加上CHANGE_MASTER_TO给从机来开始复制过程。在备份时使用–databases(备份特定的数据库)和–ignore-tables(排除备份特定的表) 选项,各个数据库和表名之间用空格隔开。

设置远程访问

use mysql;
update user set host='%' where user = 'root';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

如果此时仍无法访问,查看防火墙是否关闭。关闭命令:

sudo ufw disable

或者开放3306端口号。

从数据库配置

配置/etc/mysql/mysql.conf.d/mysqld.cnf如下:

[mysqld]

user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid
socket	= /var/run/mysqld/mysqld.sock
port		= 3306
datadir	= /var/lib/mysql

bind-address		= 192.168.87.6
mysqlx-bind-address	= 127.0.0.1
key_buffer_size		= 16M

myisam-recover-options  = BACKUP

log_error = /var/log/mysql/error.log

server-id		= 2
log_bin			= /var/log/mysql/mysql-bin.log
# binlog_expire_logs_seconds	= 2592000
max_binlog_size   = 100M
binlog_do_db		= test
binlog_ignore_db	= mysql

同步数据

在主库上dump的文件scp到从库上,然后登录mysql并执行如下命令:

set sql_log_bin=0;
source /home/shitianming/Documents/dbdump.db

配置slave

CHANGE MASTER TO
MASTER_HOST='192.168.87.3',
MASTER_USER='sync',
MASTER_PASSWORD='sync',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=730;

SHELL 复制 全屏

上述参数在主库的mysql客户端上运行show master status可看到。

进行测试

在主库的test数据库里添加数据,在从库上看到是否同步。

到此这篇关于mysql8.0主从复制搭建与配置方案的文章就介绍到这了,更多相关mysql8.0主从复制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Windows10下mysql 8.0.19 安装配置方法图文教程

    Windows10下mysql 8.0.19 安装配置方法图文教程

    这篇文章主要为大家详细介绍了Windows10下mysql 8.0.19 安装配置方法图文教程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • 查看当前mysql使用频繁的sql语句(详解)

    查看当前mysql使用频繁的sql语句(详解)

    下面小编就为大家带来一篇查看当前mysql使用频繁的sql语句(详解)。小编觉的挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • 如何用命令行进入mysql具体操作步骤

    如何用命令行进入mysql具体操作步骤

    逛论坛时无意发现有个伙计提出这样的问题,如何用命令行进入mysql,搜集整理了一些特意贴出来与大家分享,感兴趣的你可以参考下希望对你有所帮助
    2013-03-03
  • Mysql 如何实现多张无关联表查询数据并分页

    Mysql 如何实现多张无关联表查询数据并分页

    这篇文章主要介绍了Mysql 实现多张无关联表查询数据并分页的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • MySQL binlog格式之Row和Statement语句详解

    MySQL binlog格式之Row和Statement语句详解

    这篇文章主要为大家介绍了MySQL binlog格式之Row和Statement语句详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • MYSQL更新优化实录

    MYSQL更新优化实录

    本文给大家分享的是个人在对mysql数据进行刷新的时候遇到的一个效率非常低下的问题的解决全过程,主要是针对sql语句来进行优化,有查找问题的方法,有解决方法,非常的详细,小伙伴可以参考下。
    2015-08-08
  • mysql 登录报错:ERROR 1045 (28000):Access denied for user ‘root‘@‘localhost‘ (using password: Yes)

    mysql 登录报错:ERROR 1045 (28000):Access den

    本文主要介绍了mysql 登录报错:ERROR 1045 (28000):Access denied for user ‘root‘@‘localhost‘ (using password: Yes)的问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • MySQL字符串日期格式转换的几种常用方法例子解析

    MySQL字符串日期格式转换的几种常用方法例子解析

    这篇文章主要给大家介绍了MySQL字符串日期格式转换的几种常用方法例子解析,MySQL提供了多种函数来处理字符串日期格式的转换,这些函数可以帮助用户在不同的日期格式之间进行转换,以及进行日期的加减和时间戳的转换操作,需要的朋友可以参考下
    2024-11-11
  • mysql幻读详解实例以及解决办法

    mysql幻读详解实例以及解决办法

    MySQL中的幻读只有在读的时候才会发生,读这里特指SELECT操作,下面这篇文章主要给大家介绍了关于mysql幻读详解实例以及解决办法的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • mysql installer community 5.7.16安装详细教程

    mysql installer community 5.7.16安装详细教程

    这篇文章主要为大家介绍了mysql installer community 5.7.16安装详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09

最新评论