mysql8.0.26 yum安装主从配置

2021年10月16日15:38:04

 

自从大部分公司都习惯使用云服务器之后,经常就直接使用rds数据库了,数据库自己配置,做主从,已经真的好久没自己做了,回想起来基本从2014,15年就基本没做过了

这次配置之后发现很多变化,

 

mysql版本8.0.26 centos7.9   8.x因为redhat问题,不在是lts版本,centos steam版本是滚动发新版本,有可能有安全性问题,这里注意了

 

yum安装


在MySQL官网中下载YUM源rpm安装包:https://dev.mysql.com/downloads/repo/yum/

根据你的服务器版本,具体选择

下载 rpm包
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
安装
yum install mysql80-community-release-el7-3.noarch.rpm
yum数据更新 yum clean all yum makecache

 

查看是否mysql可以安装的版本
yum repolist all | grep mysql
禁用mysql8.0 yum
-config-manager --disable mysql80-community
启动musql5.7 yum
-config-manager --enable mysql57-community 查看repo文件内容
cat
/etc/yum.repos.d/mysql-community.repo
安装数据库 yum install
mysql-community-server
启动数据库 systemctl start mysqld
.service
查看数据库

vi /var/log/mysqld.log

[Server] A temporary password is generated for root@localhost: yLd%fk8ALKfu

这个是临时数据库密码

登录
mysql -uyida -p'yLd%fk8ALKfu'

 添加开启启动

systemctl enable mysqld.service

 

查看用书授权
show grants for root
查看数据库
server_id

show variables like 'server_id';

 

吧默认存储数据的迁移的数据盘,这个很重要

 

查看 mysql用户是否存在
id mysql
复制数据

cp -rf /var/lib/mysql /data/
修改用户
chown
-R mysql:mysql /data/mysql/

重启一下mysql

 

 

编译mysql配置

vi /etc/my.cnf

[mysql]
default-character-set=utf8

[mysqld]
default-authentication-plugin=mysql_native_password
port=8177

datadir=/data/mysql
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysqld.log
pid-file=/data/mysql/mysqld.pid

character-set-server=utf8
init_connect='SET NAMES utf8'
default-storage-engine=InnoDB

#binlog
server-id=1001

log-bin=mysql_master_bin
log-bin-index=mysql_master_bin.index
binlog_format=MIXED
expire_logs_days=180
max_binlog_size=100m
binlog_cache_size=4m
max_binlog_cache_size=512m

gtid-mode=on
log-slave-updates
enforce-gtid-consistency

binlog-ignore-db=sys
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-do-db=test

[client]
port=8177
default-character-set=utf8
socket=/data/mysql/mysql.sock

 

说明版本

 

[mysql]
#默认字符设置uft8,,注意这个不是utf8mb4 这个是引擎的的字符集
default-character-set=utf8

[mysqld]
#默认授权加密方式
default-authentication-plugin=mysql_native_password
#服务
port=8177

#数据库存储数据路径
datadir=/data/mysql
#sock服务监听位置
socket=/data/mysql/mysql.sock
#错误日志
log-error=/data/mysql/mysqld.log
#pid文件
pid-file=/data/mysql/mysqld.pid

#字符集
character-set-server=utf8
#初始化连接的设置的字符集
init_connect='SET NAMES utf8'
#默认引擎
default-storage-engine=InnoDB

#binlog
#服务器分区ID,不能重复 默认0或者
server-id=1001

#bin日志设置
log-bin=mysql_master_bin
#bin日志索引
log-bin-index=mysql_master_bin.index
#日志格式,建议MIXED
binlog_format=MIXED
#日志过期日期 单位
expire_logs_days=180
#单个bin日志最大
max_binlog_size=100m
#bin log缓存大小
binlog_cache_size=4m
#最大bin log缓存大小
max_binlog_cache_size=512m

#启用gtid类型,否则就是普通的复制架构
gtid-mode=on
#slave更新是否记入日志 从库作为其他的主库需要设置
#log-slave-updates
#强制GTID的一致性
enforce-gtid-consistency

#binlog忽略不同步的数据库,注意这个功能可能存在问题
binlog-ignore-db=sys
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
#执行同步的数据库,如果有新建数据库需要在这里新加入,直接复制一行
binlog-do-db=test

[client]
#mysql-client 客户端连接服务器端口
port=8177
#默认字符集
default-character-set=utf8
#连接的socket
socket=/data/mysql/mysql.sock

注意以前的5.x,6.x和8.x参数区别有一些,无法完全参照,不是很详细的配置文件,仅供测试参考

 

从库和主库差不多的配置

[mysql]
default-character-set=utf8

[mysqld]
default-authentication-plugin=mysql_native_password
port=8177

datadir=/data/mysql
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysqld.log
pid-file=/data/mysql/mysqld.pid

character-set-server=utf8
init_connect='SET NAMES utf8'
default-storage-engine=InnoDB

#binlog
server-id=1002

log-bin=mysql_slave_bin
log-bin-index=mysql_slave_bin.index
binlog_format=MIXED
expire_logs_days=180
max_binlog_size=100m
binlog_cache_size=4m
max_binlog_cache_size=512m

gtid-mode=on
log-slave-updates
enforce-gtid-consistency

binlog-ignore-db=sys
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-do-db=test

[client]
port=8177
default-character-set=utf8
socket=/data/mysql/mysql.sock

 

创建专用的数据同步账号

mysql> CREATE USER 'repl'@'192.168.199.198' IDENTIFIED WITH mysql_native_password BY 'Ron_master_1';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.199.198';

查看主库binlog文件和偏移地址

show master status;

 

建议:在开始同步的之前,配置好主从数据库,最好重启一下服务器,看下重启时候服务是否正常,避免很多麻烦事情

 

设置从库同步

change master to master_host='192.168.199.198', \
      master_user='repl', \
      master_password='Ron_master_1', \
      master_port=8177, \
      master_log_file='mysql_master_bin.000009', \
      MASTER_LOG_POS=196;

开启同步

start slave;

 

QQ一群 247823727 (满了)
QQ二群 166427999 (新群,写PHP最佳实践为主)
博客文件如果不能下载请进群下载
如果公司项目有技术瓶颈问题,如有需要,技术服务QQ: 903464207

posted on 2021-10-19 14:11  zh7314  阅读(42)  评论(0编辑  收藏  举报