wget安装mysql8_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.*"

出现下图则代表成功安装

3590d0db8e5fbef3925c94f7e667260b.png

3. 安装mysql的服务端

yum install -y mysql-community-server

#使用命令启动和查看mysql

systemctl start mysqld

systemctl status mysqld

a6671f4d49e975b95e5a6a258a03c27b.png

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

4. 密码修改

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

#重启mysql

systemctl 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';

9579a35a1e3eee720b5ed3d070fc7025.png

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数据库,查看状态

08082bca1af75e52657d0bfd83a91df0.png

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;

e0f004d781e6a5f5649593f39798cd87.png

12. 进行测试

主数据库创建

d1f6a586737c48a72a6e850adc491b04.png

从数据库查看

2640845b8edaa7232dd95050e1072b7d.png

**********************************************************************************************************

踩坑总结:

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. 敲代码尤其是配置文件,记得看仔细。。。出问题记得看日志

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值