mysql8.0.30主从配置
安装包下载地址:
https://downloads.mysql.com/archives/community/
1、 解压介质包:
# tar xf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
# mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql
# mkdir mysql/{data,logs}
2、 创建mysql用户,并对目录授权
# groupadd mysql
# useradd -M -s /sbin/nologin -g mysql mysql
# chown -R mysql.mysql mysql
3、编辑主从节点配置文件
以下为我的服务配置,可参考
master my.cnf
[mysql]
default-character-set=utf8mb4
prompt=[\\u@\\h][\\d]>\\_ [mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/data/mysql
datadir=/data/mysql/data
log-error=/data/mysql/data/mysql.err
socket=/tmp/mysql.sock
pid-file=/data/mysql/data/mysql.pid server-id=1 slow_query_log=ON
slow_query_log_file=/data/mysql/data/slow.log
long_query_time=1 gtid_mode=ON
enforce_gtid_consistency=ON
binlog-checksum = CRC32
master-verify-checksum = 1 binlog_format=row
expire_logs_days=7
max_binlog_size=512M
log-bin=/data/mysql/logs/mysql-bin
log_bin_index=/data/mysql/logs/mysql-bin.index
log-slave-updates = ON character_set_server = utf8mb4
collation_server = utf8mb4_general_ci
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
slave my.cnf
[mysql]
default-character-set=utf8mb4
prompt=[\\u@\\h][\\d]>\\_ [mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/data/mysql
datadir=/data/mysql/data/
log-error=/data/mysql/data/mysql.err
socket=/tmp/mysql.sock
pid-file=/data/mysql/data/mysql.pid server-id=15 slow_query_log=ON
slow_query_log_file=/data/mysql/data/slow.log
long_query_time=1 gtid_mode = ON
enforce_gtid_consistency = ON
log-slave-updates = ON
skip-slave-start = true
expire_logs_days = 7
max_binlog_size = 512M
read_only = ON log-bin=/data/mysql/logs/mysql-bin
log_bin_index = /data/mysql/logs/mysql-bin.index
relay-log = /data/mysql/logs/relay-log
relay-log-index = /data/mysql/logs/relay-log-index
relay-log-info-file = /data/mysql/logs/relay-log.info master-info-repository = table
relay-log-info-repository = table
#symbolic-links=0 character_set_server = utf8mb4
collation_server = utf8mb4_general_ci
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
保存退出后记得修改权限
# chown mysql.mysql *
4、 初始化数据库
# cd /data/mysql
# ./bin/mysqld --defaults-file=/data/mysql/my.cnf --basedir=/data/mysql --datadir=/data/mysql/data --lower_case_table_names=1 --user=mysql --initialize
--lower_case_table_names=1 不区分大小写 MySQL8需要初始化时添加,初始化不添加的话,后期在配置文件中添加重启会报错
PS:mysql.err 日志中有初始化数据库密码
5、数据库启动
# ./bin/mysqld_safe --defaults-file=/data/mysql/my.cnf &
6、登录数据库修改初始密码,创建root@%账号并授权
mysql> alter user 'root'@'localhost' identified by 'Root~123';
mysql> create user 'root'@'%' identified WITH mysql_native_password by 'Root~123';
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
7、 创建数据库同步账号并授权
mysql> create user 'repl'@'%' identified with mysql_native_password by 'repl';
mysql> grant replication slave on *.* to 'repl'@'%';
mysql> flush privileges;
8、配置主从同步,从库安装方法同上
PS:从库无需创建数据库root账号,会主动从主库同步
基于 gtid 同步——推荐
mysql> CHANGE MASTER TO MASTER_HOST='73.134.64.72',MASTER_PORT=3306,MASTER_USER='repl',MASTER_PASSWORD='repl',MASTER_AUTO_POSITION=1;
mysql> show slave status\G;
基于 binlog 方式同步
登录主库查询Master状态,并记录 File 和 Position 的值:
mysql> show master;
登录从库操作:
mysql> CHANGE MASTER TO MASTER_HOST='73.134.64.72',MASTER_PORT=3306,MASTER_USER='repl',MASTER_PASSWORD='repl',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=2229;
mysql> show slave status\G;
查询主从状态(参数 Slave_IO_Running 和 Slave_SQL_Running 是否都为yes,则证明配置成功。若为no,则需要查看对应的 Last_IO_Error 或 Last_SQL_Error 的异常值)
PS:MySQL提示符配置,8.0配置文件中prompt 上述方法未生效,需配置环境变量:export MYSQL_PS1="[\u@\h][\d]> ",效果如下

mysql8.0.30主从配置的更多相关文章
- Docker部署Mysql8.0.20并配置主从复制
1. Linux安装Mysql8.0.20并配置主从复制(一主一从,双主双从) Linux安装Mysql8.0.20并配置主从复制(一主一从,双主双从) 2. 前提准备 # 创建主从数据库文件夹 ...
- Linux安装Mysql8.0.20并配置主从复制(一主一从,双主双从)
1. 主从复制解释 将主数据库的增删改查等操作记录到二进制日志文件中,从库接收主库日志文件,根据最后一次更新的起始位置,同步复制到从数据库中,使得主从数据库保持一致. 2. 主从复制的作用 高可用 ...
- MySQL8.0.19主从环境搭建(CentOS7)
默认情况下,复制是异步的,从站不需要永久连接以接收来自主站的更新.根据配置,您可以复制数据库中的所有数据库,所选数据库甚至选定的表. MySQL中复制的优点包括: 横向扩展解决方案 - 在多个从站之间 ...
- Mysql8.0安装与配置
最近公司在开发项目时用到了mySql8.0版本,总结出了安装步骤,供需要的开发人员来参考 安装mySql8.0的步骤: 1.先去官网下载mySql8.0版本的安装包 一. 点击:https://dev ...
- MySQL8.0.20安装配置+用Navicat连接详细教程(win10,Navicat15)
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用 ...
- mysql8.0.20安装配置教程
mysql配置安装教程 1.下载mysql8.0.20安装包 下载地址: https://dev.mysql.com/downloads/mysql/.找到安装包后下载.(官网为英文,如果看不懂的小伙 ...
- mysql-8.0.12 安装+配置, Navicat Premium 12 安装+激活
1.解压到安装目录,如:D:\mysql-8.0.12-winx64 2.将以下配置文件粘贴到安装目录,并保存为my.ini,注意:使用ansi 而非utf-8编码格式保存 [mysql] # 设置m ...
- redis-4.0.11主从配置初步探究
redis-4.0.11相较于以前版本,新增了几个安全措施,稍稍研究了6379.conf配置文件,在这里记录一下. 实验环境: centos7.4 redis:redis-4.0.11 1. redi ...
- Django(八)模型:Mysql8.0日志文件配置开启/关闭、查询
Mysql日志文件开启.配置.查看 mysql.log是mysql的日志文件,里面记录的对MySQL数据库的操作记录.默认情况下mysql的日志文件没有产生,需要修改mysql的配置文件,步骤如下: ...
- Linux中(Ubuntu18.04.x/CentOS)mysql8.0.x安装/配置/部署/启动
The MySQL Connectors and APIs are the drivers and libraries that you use to connect applications in ...
随机推荐
- Jmeter之非GUI下执行脚本
1.进入jmeter 应用所在路径 eg: cd D:\Program Files\apache-jmeter-5.2\bin 2.输入运行命令:jmeter -n -t [jmx脚本路径] -l [ ...
- 丧心病狂,竟有Thread.sleep(0)这种神仙写法?
前言 最近在网上看到了一段代码,让我感到很迷茫.他在代码中使用了 Thread.sleep(0),让线程休眠时间为0秒,具体代码如下. int i = 0; while (i<10000000) ...
- [OpenCV实战]32 使用OpenCV进行非真实感渲染
目录 1 保边滤波的频域变换 1.1 保边滤波器Edge Preserving Filter 1.1.1 函数调用 1.1.2 edgePreservingFilter结果 1.2 细节增强 1.3 ...
- Kafka相关面试题及答案
Kafka相关面试题及答案 1. Kafka中的ISR.AR又代表什么? ISR:与leader保持同步的follower集合 AR:分区的所有副本 2. Kafka中的HW.LEO等分别代表什么? ...
- 如何在Github上创建一个新仓库
Hi,欢迎大家在有空的时候做客[江涛学编程],这里是2023年的第6篇原创文章,新年新气象,在这里我祝读者朋友们都好好的, 老规矩,拍拍手,上菜. 今天没有啥东西要跟家人们分享,就两个字,看图!!! ...
- python之路30 网络编程之初识并发编程1
并发编程理论 研究网络编程其实就是在研究计算机的底层原理及发展史 """ 计算机中真正干活的是CPU """ 操作系统发展史 1.穿孔卡片阶 ...
- 10.关于synchronized的一切,我都写在这里了
大家好,我是王有志.关注王有志,一起聊技术,聊游戏,从北漂生活谈到国际风云. 之前我们已经通过3篇文章由浅到深的分析了synchronized的用法和原理: synchronized的基础:synch ...
- Word 交叉引用 给参考文献、图片题注添加引用
参考文献引用 假如想在红色[1]处添加引用,实现点击[1]跳到参考文献[1]. 首先需要将参考文献进行编号. 在需要插入引用的地方,选择插入-->交叉引用 点击插入 最后可以把[1]调成上标 上 ...
- LRU 缓存
力扣题目 146. LRU 缓存 实现 LRU 缓存需要用到哈希链表 LinkedHashMap. LinkedHashMap 是由哈希表和双链表结合而成的,它的结构如下所示. 用自带的 Linked ...
- 从0开始学Java 第一期 开发前的准备
Java 学习(一) - 开发前的准备 前言 由于一些项目上的需要,我得学习一下 Java 这门语言(主要是想写Android),本人并非0基础,至少在上个学期学习了一门必修的程序设计(C语言),所以 ...