linux,MySQL主从同步,redis和mysql覆盖升级,解决低版本漏洞问题(phpredis扩展,可以直接升级redis,不影响扩展)有视频实操可观看

2023年 9月 29日 44.0k 0

一、介绍

1.Redis的覆盖升级,从低版本5.0.9升级到7.2.1。需要最新版本安装包一个,官网下载即可
2.MySQL覆盖升级,从低版本5.7.42升级到5.7.43。需要最新安装包5.7.43,官网下载即可,我自己上传的链接。
pan.baidu.com/s/1C20o9Rjb…
3.两台服务器之间的数据库进行主从同步,实现多台数据库数据也统一。
==操作过程,请斟酌一下在用,看看我的情况是否与你的情况一致==
具体实操可观看下面链接:www.bilibili.com/video/BV14w…

二、Redis升级

升级redis之前,先把老版本的一些设置进行清除,防止报错
1.停止redis服务

/etc/init.d/redis stop

2.删除注册好的服务,进入/etc/init.d
把注册的redis服务删除
3.进入/etc/systemd/system
只要名字带redis的就删
4.把文件上传到一个位置,/home下就可以,进行解压,然后进入目录。
执行

make
make install

5.进入utilsmulu
执行

./install_server.sh

若报错,则把找个文件中的几句话注释掉,注释掉后再执行一次
在这里插入图片描述
redis安装完成,连接redis测试一下

redis-cli

php扩展redis

当安装好新的redis之后,php扩展的redis也自动变为最新版了

三、MySQL升级

1.停止mysql

systemctl stop mysql

2.清除配置相关的文件

rm -rf /etc/init.d/mysql
rm -rf /usr/local/mysql
rm -rf /data/mysqldata

3.上传新版安装包,重命名解压到/usr/local/mysql
举例:

mv mysql5.7.43 /usr/local/mysql

4.进行第二次安装

1)编写配置文件
vim /etc/my.cnf
把以下内容写入
[mysqld]
user=root
datadir=/data/mysqldata
basedir=/usr/local/mysql
port=3306
max_connections=200
max_connect_errors=10
character-set-server=utf8
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
lower_case_table_names=0
group_concat_max_len=102400
sql_mode = NO_ENGINE_SUBSTITUTION   
server-id=1
log-bin=/mnt/log/mysql-bin
[mysql]
default-character-set=utf8
[client]
port=3306
default-character-set=utf8

2)初始化数据库
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysqldata/ --user=mysql --initialize
会给一个默认密码,请保留下来
3)添加服务到系统
 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
4)启动服务
service mysql start
5)添加快捷执行
ln -sf /usr/local/mysql/bin/* /usr/bin #强制添加快捷执行,覆盖老的
6)进入数据库
mysql -uroot -p
7)修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
8)设置远程连接
use mysql;
update user set host='%' where user = 'root';
flush privileges;


有时候远程连接数据库连接不上,可能是服务器防火墙没开,打开之后,再把端口打开就能连接上了。连上之后如果不用可以再把防火墙关掉。

重启:systemctl restart firewalld.service
启动:systemctl start firewalld.service
防火墙状态:systemctl status firewalld.service
开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent

四、数据库主从同步

数据库主从同步,需要两个数据库,一个作为主库,一个作为从库。实现的过程就是从库去读取主库的日志信息,把主库的插入操作记录下来,然后从库再执行一遍。

1)主库配置(Master)
vim /etc/my.cnf
写入以下数据,写入后就不用再添加
[mysqld]
log-bin=mysql-bin #[必须]启用二进制日志,数据间复制必不可少
server-id=100 #[必须]服务器唯一ID


2)创建主库用户
create user slave@'%' identified by 'root';
//授权所有库的权限
GRANT ALL PRIVILEGES ON *.* TO 'slave'@'%'WITH GRANT OPTION;
//刷新
flush privileges;

执行下面SQL,记录下结果中File和Position的值
show master status;

3)从库配置(Slave)
[mysqld]
server-id=101 #[必须]服务器唯一ID

//执行前先停下slave
stop slave;

//进行从库设计,登录mysql,执行下面这一整句sql,host是主库的ip,user是前面创建的slave用户,file和pos是主库show master status的信息,
change master to
master_host='192.168.81.100',master_user='slave',master_password='135564',
master_log_file='mysql-bin.000003',master_log_pos=157;

//执行后启动slave
start slave;

show slave statusG;查看是否开启,run和connect属性是否为yes,只需在从库看即可

在这里插入图片描述

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论