mysql 5.7.35主从环境配置

Mysql主从配置环境搭建
一、安装环境
Linux需要cetos7,使用mysql-5.7.35-1.el7.x86_64.rpm-bundle包
检查系统是否存在旧版的MySQL
rpm -qa|grep -i mysql
如有依次卸载
rpm -e -nodeps 包名 #如有提示错误可使用以下方法卸载
rpm -ev 包名 --nodeps
Rpm -e --noscripts 包名
二、上传解压
上传mysql-5.7.35-1.el7.x86_64.rpm-bundle文件到/app/mysql文件夹下
在这里插入图片描述
解压mysql-5.7.35-1.el7.x86_64.rpm-bundle文件
tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar
在这里插入图片描述

三、安装
rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm
在这里插入图片描述

安装如遇到报错,卸载mariadb
rpm -qa|grep mariadb
再次安装
在这里插入图片描述

安装失败
多了mariadb-libs-1:5.5.56-2.el7.x86_64这个系统自带依赖卸载
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
继续安装
在这里插入图片描述

安装成功
rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm
在这里插入图片描述

rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm
在这里插入图片描述

rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm
在这里插入图片描述

安装失败缺少net-tools依赖
下载安装net-tools
yum install net-tools.x86_64
在这里插入图片描述

继续安装
编辑配置文件
vim /etc/my.cnf

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysql]

[mysqld]
#设置端口  
port = 3306

#数据存储路径
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

#错误日志路径
log-error=/var/log/mysqld.log
#日志路径
pid-file=/var/run/mysqld/mysqld.pid

disable-partition-engine-check=1

#只能用IP地址检查客户端的登录,不用主机名
skip_name_resolve = 1
##数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server=utf8mb4

#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server=utf8mb4_general_ci

#设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'

#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names=1

#最大连接数
max_connections=400
##最大错误连接数
max_connect_errors=1000


#SQL数据包发送的大小,如果有BLOB对象建议修改成1G
max_allowed_packet=128M

#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout  值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout=1800
wait_timeout=1800

#mysql binlog日志文件保存的过期时间,过期后自动删除
expire_logs_days=5

四、启动mysql
systemctl start mysqld
Mysql5.7之后初始密码不能为空,需通过命令查询
grep ‘temporary password’ /var/log/mysqld.log
登录mysql
mysql -p
在这里插入图片描述

输入密码登录
因为使用初始密码登录,不能执行任何操作,登录修改密码
SET PASSWORD =PASSWORD(‘Star*2018#’);#密码自定义
在这里插入图片描述

退出重新登录可正常使用
设置开机自启动
systemctl enable mysqld.service
在这里插入图片描述

五、添加远程访问权限(navicat可登录)
选择mysql库
use mysql;
更新用户表
update user set host’%’ where user=‘root’;
刷新表
flush privileges;
在这里插入图片描述

六、主从环境搭建
一、准备工作:
1.主从数据库版本最好一致
2.主从数据库内数据保持一致
主数据库:27.196.222.163 /linux
从数据库:27.196.222.169 /linux
二、主数据库master修改:
1.修改mysql配置
找到主数据库的配置文件my.cnf(或者my.ini),我的在/etc/mysql/my.cnf,在[mysqld]部分插入如下两行:

[mysqld]
log-bin=mysql-bin #开启二进制日志
server-id=1 #设置server-id

2.重启mysql,创建用于同步的用户账号
打开mysql会话shell>mysql -p
创建用户并授权:用户:rel1密码:slavepass

mysql> CREATE USER 'server'@'27.196.222.169' IDENTIFIED BY 'Star*2018#';#创建用户
mysql> GRANT REPLICATION SLAVE ON *.* TO 'server'@'27.196.222.169';#分配权限
mysql>flush privileges;   #刷新权限

3.查看master状态,记录二进制文件名(mysql-bin.000001)和位置(759):
在这里插入图片描述

三、从服务器slave修改:
1.修改mysql配置
同样找到my.cnf配置文件,添加server-id

[mysqld]
server-id=2 #设置server-id,必须唯一

2.重启mysql,打开mysql会话,执行同步SQL语句(需要主服务器主机名,登陆凭据,二进制文件的名称和位置):

mysql> CHANGE MASTER TO
    ->     MASTER_HOST='27.196.222.163',
    ->     MASTER_USER='rep1',
    ->     MASTER_PASSWORD='slavepass',
    ->     MASTER_LOG_FILE='mysql-bin.000003',
    ->     MASTER_LOG_POS=73;

3.启动slave同步进程:

mysql>start slave;
4. 查看slave状态:show slave status\G;
在这里插入图片描述

当Slave_IO_Running和Slave_SQL_Running都为YES的时候就表示主从同步设置成功了。接下来就可以进行一些验证了,比如在主库master创建数据库test,可以看到server也创建了test库

在这里插入图片描述

还可以关闭slave(mysql>stop slave;),然后再修改master,看slave是否也相应修改(停止slave后,master的修改不会同步到slave),就可以完成主从复制功能的验证了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值