CentOS7下安装部署mysql8读写分离

0. 安装wget命令

yum -y install wget

1. 创建用户组和用户

groupadd mysql
useradd -r -g mysql -s /mysql

2. 安装mysql8

#检查之前是否有残留的mysql,有的话就删除
find / -name mysql
rm -rf xxx

#上传到服务器
wget http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm #本地安装 yum localinstall mysql80-community-release-el7-1.noarch.rpm #检查是否安装成功 yum repolist enabled | grep "mysql.*-community.*"

 出现下图则代表成功安装

3. 安装mysql的服务端

yum install -y mysql-community-server

#使用命令启动和查看mysql
systemctl start mysqld
systemctl status mysqld

可以看到mysql的active状态已经是running了,意味着mysql已经成功安装好了

4. 密码修改

   修改 /etc/my.conf的配置文件,将default-authentication-plugin=mysql_native_password"取消注释

#重启mysql
system restart mysqld 
#通过命令查看自动生成的密码
grep 'temporary password' /var/log/mysqld.log

#登陆数据库
mysql -uroot -p

#修改密码规则 记得打分号
set global validate_password.policy=0;

set global validate_password.length=6;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

5. 解决远程访问的问题

#创建一个密码为123456的用户,同时可以访问全部ip(%)
CREATE USER 'someone'@'%' IDENTIFIED BY '123456';

#授予用户DDL和DML的权限
grant all on *.* to 'someone'@'%';

#关闭防火墙
systemctl stop firdwalld.service
systemctl disable firewalld.service

6. 在Master库上创建一个具有Replication Slave权限的账号

 主服务器通过binlog日志记录操作事件,从服务器通过IO线程读取binlog日志,生成relay-log日志,再由从服务器读取relaylog执行操作。

CREATE USER 'dark'@'%'IDENTIFIED BY '123456';

GRENT REPLICATION SLAVE ON *.* TO 'dark'@'%';

7. 修改Master服务器上的my.conf,一般是在/etc目录下

log-bin=mysql-bin
#此处不写或者为0时,master将拒绝slave的请求 server
-id=1
#日志类型
binlog-format=mixed

8. 重启master数据库,查看状态

 

 

 9. 修改slave的my.conf文件

server-id=2
#slave本地记录主数据库二进制日志的日志文件 relay-log=mysql-bin

10. 进入从数据库

1. stop slave;

2. change master to master_host='10.0.102.86', master_user='dark', master_password='123456', master_port=3306,
#此处需要对应master的状态 master_log_file
='mysql-bin.000005', master_log_pos='343';

3. start slave;

11. 查看slave状态

show slave status \G

#设置从数据库只能读数据
set global read_only=1;
set global super_read_only=1;

      

 

   12. 进行测试

      主数据库创建

 

 

     从数据库查看

 

 **********************************************************************************************************
踩坑总结:

  1. 因为是从虚拟机克隆过来的,所以出现了主从数据库的UUID一致的问题  

find / -name auto.conf

mv /var/lib/mysql/auto.cnf /var/lib/mysql/auto.cnf.bk

  2. slave_sql_running:no:因为我人为手动在从库中添加了数据导致的

stop slave;

set global sql_slave_skip_counter=1;

start slave;

  3. 敲代码尤其是配置文件,记得看仔细。。。出问题记得看日志

 

  

 

转载于:https://www.cnblogs.com/Leslie-/p/11493202.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值