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
0
投稿
猜你喜欢
- 我们经常会用到表格数据,在做表格的时候,一般都喜欢隔行变色,使表格表现数据的时候非常的清晰。如图,我设计的一个表格表现的样式:在网上找到一个
- 在开始后面的内容之前,先来解释一下urllib2中的两个个方法:info / geturl urlopen返回的应答对象respo
- 我在使用conda安装虚拟环境的过程中,下载一些包,比如torch等,发现在虚拟环境中有一份以外,pkgs文件夹下同样也会出现一份,大小一样
- 在运用xmlhttp组件编写程序中,会碰到 "msxml3.dll 错误 ‘800c0005’&nb
- 本教程主要介绍css的基础知识,将逐个讲解css的各个属性,过程可能比较枯燥,但会尽力多举例说明.作者的网站:http://jorux.co
- 本文实例为大家分享了js实现黑白div块画空心图形的具体代码,供大家参考,具体内容如下<!DOCTYPE html><ht
- 这里先解释一下几个概念 - 位置参数:按位置设置的参数,隐式用元组保存对应形参.平时我们用的大多数是按位置传参.比如有函数def func(
- 在 Web 应用中,有时需要在响应请求前或者响应请求后做一些处理,为了让每个视图函数避免编写重复功能的代码,Flask 提供了请求钩子,它们
- 引言“ 这是MySQL系列笔记的第十二篇,文章内容均为本人通过实践及查阅资料相关整理所得,可用作新手入门指南,
- 一、我们对XML的读取进行一波演示import xml.dom.minidom#负责解析xml文件的包from xml.dom.minido
- urllib的基本用法urllib库的基本组成利用最简单的urlopen方法爬取网页html利用Request方法构建headers模拟浏览
- 本文实例为大家分享了python3音乐播放器的关键代码,供大家参考,具体内容如下from tkinter import *from trac
- 看那个自由落体div有感。这个没落体,画个圆。(ie only)<html><head><style>v
- 目前整个开发社区对AOP(Aspect Oriented Programing)推崇备至,也涌现出大量支持AOP的优秀Framework,-
- 前两天在做一个站内版的企搜引擎,发现某些站点可以链接站点内容。。奇怪之下看了看,原来是按照数据库ID的自动编号规律进行链接的~~闲暇之余弄了
- <%@ Page Language="C#" AutoEventWireup="true" C
- 本文实例讲述了python实现的简单RPG游戏流程。分享给大家供大家参考。具体如下:#RPGrpg = Truewhp = 100mahp
- 本文实例讲述了Python 面向对象部分知识点。分享给大家供大家参考,具体如下:面向对象:世间万物,皆可分类。---------------
- 环境 centos7 python3pytesseract只是tesseract-ocr的一种实现接口。所以要先安装tesseract-oc
- 1. txt文件(1) 单位矩阵即主对角线上的元素均为1,其余元素均为0的正方形矩阵。在NumPy中可以用eye函数创建一个这样的二维数组,