mysql8.0主从复制搭建与配置方案
作者:天山琴子 发布时间:2024-01-15 11:26:25
标签:mysql,主从复制
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
数据库里添加数据,在从库上看到是否同步。
来源:https://www.cnblogs.com/shitianming/p/16739989.html


猜你喜欢
- 前言一般从数据库或者是从日志文件读出的数据均带有时间序列,做时序数据处理或者实时分析都需要对其时间序列进行归类归档。而Pandas是处理这些
- 如下所示:Description:将一个矩阵(二维数组)按对角线向右进行打印。(搜了一下发现好像是美团某次面试要求半小时手撕的题)Examp
- 如图,这次需要在图片中找到卷尺的红色刻度,所以需要对图像做过滤,只留下红色部分。一开始的想法是分别找到RGB值,然后找到红色区域的部分保留就
- 一、准备工程文件1.创建工程leeoo2.在工程根目录下创建setup.py文件3.在工程根目录下创建同名package二、编辑setup.
- 错误21002:[sql-dmo]用户***已经存在错误 此错误的原因多是因为将MSSQL备份移植到另一服务器还原时出现。 主要原因是原来的
- 描述cmp() 方法用于比较两个列表的元素。语法cmp()方法语法:cmp(list1, list2)参数list1 -- 比较的列表。li
- 1.0 新建项目1.1 初始化项目输入npm init,之后需要填什么就写什么新建src目录,并在src目录下新建alert.vue$ np
- 以mysql-noinstall-5.0.22-win32为例,解压缩后会看到mysql-5.0.22-win32文件夹下面,有五个ini格
- 本文通过调取高德行政区划查询接口,获取最新的数据信息(省、市、区、经纬度、行政级别、城市编码、行政编码等),并通过mysql.connect
- 前言本篇文章,阐述一下Flask中数据库的迁移为什么要说数据库迁移呢?比如我们以前有一个数据库,里面的信息有 id, name现在我想再加一
- ubuntu18.04版本,python版本python2.7,python3.5,python3.6因为安装一些库会安装到python3.
- 一. 布隆过滤器简介布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别
- 1. 定义本质是函数,用来装饰其他函数,为其他函数添加附加功能2. 原则a. 不能修改被装饰函数的源代码b. 不能修改被装饰的函数的调用方式
- 在python 开发web程序时,需要调用第三方的相关接口,在调用时,需要对请求进行签名。需要用到unix时间戳。 在python里,在网上
- 将无权点文件转化成邻接矩阵目前点文件是两列Excel代码,在进行复杂网络运算时需要转化成邻接矩阵。我在网上找了一个代码,稍微修改了下,亲测可
- 本文实例为大家分享了bootstrap实现收缩导航条的具体代码,供大家参考,具体内容如下效果图 贴上我的代码<!DocType htm
- 一、find_in_set() 函数详解示例:select FIND_IN_SET('1', '1,2,3'
- 前言在实际应用中经常会用到固定字段的长度,但往往有些数据不能达到规定的长度,这是就需要我们用其他的字符来填充, 在Oracle中有函数解决这
- 例子一:Python用WMI模块获取windowns系统的硬件信息:硬盘分区、使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位
- 汉字转换为UTF-8的一段代码终于找到这段代码了,一个ASP写的中文转UTF-8,大家可以试试function chinese2u