一、介绍
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,只需在从库看即可