一、环境&安装包
1.环境
- CentOS 7.9.x
- MySQL5.7x
2.安装包
自动化安装包: mysql-anzhuang-v38.tar.gz【点击下载】
官方网站下载: https://downloads.mysql.com/archives/community/【点击访问】
二、安装
1.创建脚本必须路径
[root@localhost ~]# mkdir /srv/{program,soft} #创建program、soft目录
[root@localhost ~]# ls /srv/ #查看/srv目录内容
program soft
[root@localhost ~]# cd /srv/soft #进入/srv/soft目录
2.上传、解压tar包
[root@localhost ~]# cd /srv/soft
[root@localhost soft]# ls
jdk-11.0.9_linux-x64_bin.tar.gz jdk1.8.0_181.tar.gz jenkins-2.375.2-1.1.noarch.rpm jenkins-io.tar jenkins-plugin.tar.gz mysql-anzhuang-v38.tar.gz pgsqlanzhuang-10.20.tar.gz sonarqube-9.3.0.51899.zip
[root@localhost soft]# du -h mysql-anzhuang-v38.tar.gz #查看tar包大小
2.4G mysql-anzhuang-v38.tar.gz
[root@localhost soft]# tar -xvf mysql-anzhuang-v38.tar.gz #解压tar包
3.安装
[root@localhost ~]# yum remove libnuma.so.1
[root@localhost ~]# yum -y install numactl.x86_64
[root@localhost ~]# yum -y install libaio
[root@localhost ~]# cd /srv/soft/mysql-anzhuang
[root@localhost mysql-anzhuang]# ./mysql-anzhang.sh #执行安装脚本
[root@localhost mysql-anzhuang]# ls /srv/program/mysql-3307/mysql-5.7/ #查看安装路径
依赖环境:
1.如果已经安装了libnuma.so.1,先yum remove libnuma.so.1
2.yum -y install numactl.x86_64
3.yum -y install libaio
4.启动
[root@localhost mysql-anzhuang]# cd /srv/program/mysql-3307/mysql-5.7/ #进入安装路径
[root@localhost mysql-5.7]# vim my3307.cnf #修改配置文件
...
innodb_buffer_pool_size = 10000M
...
:wq #退出并保存
[root@localhost mysql-5.7]# ./startup.sh
可以使用free -h查看当最后一列 available数值,即innodb_buffer_pool_size = [available x 0.7]M
5.查看进程
[root@localhost mysql-5.7]# netstat -ntlupa |grep mysql #查看Mysql端口
[root@localhost mysql-5.7]# ps -ef |grep mysql #查看Mysql进程
三、更新
1.下载最新安装包
访问:mysql官网
2.使用更新数据库
[root@localhost soft]# vim MySQLupdate.sh
#!/bin/bash
#===========================================================================
# FileName: MySQL-Update
#
# Author : WangXinKun
#
# Created : 17:53,03/03/2022
#===========================================================================
#不改变数据文件,升级速度快;但,不可以跨操作系统,不可以跨大版本(5.5—>5.7)
#注:升级不同版本替换二进制包即可
SysBase=`pwd`
read -p "Please input mysql port: " port
read -p "Please input package name: " package
echo "停止数据库..."
cd /srv/program/mysql-${port}/mysql-5.7
./bin/mysqladmin -S ./mysql.sock -uroot shutdown >/dev/null 2>&1
sleep 10
echo "备份..."
cd .. && mv mysql-5.7 mysql-5.7_bak
echo "替换二进制包..."
cd /srv/soft/ && tar -xf $package
mysql_path=`echo $package | awk -F "." '{print $1"."$2"."$3}'`
mv $mysql_path mysql-5.7 && mv mysql-5.7 /srv/program/mysql-${port}/
echo "替换配置文件..."
cd /srv/program/mysql-${port}/mysql-5.7 # && rm -rf startup.sh shutdown.sh my7777.cnf
cp ../mysql-5.7_bak/{startup.sh,shutdown.sh,my${port}.cnf} .
echo "赋予权限..."
chown -R mysql.root /srv/program/mysql-${port}/mysql-5.7
echo "启动数据库..."
sed -i '/myisam_repair_threads/d' my${port}.cnf
./startup.sh
echo "数据库检查..."
./bin/mysqld_safe --defaults-file=/srv/program/mysql-${port}/mysql-5.7/my${port}.cnf & >/dev/null 2>&1 && sleep 10
./bin/mysql_upgrade -S ./mysql.sock &&
echo "升级成功,当前数据库版本:"
./bin/mysql -S ./mysql.sock -P${port} -uroot -e"select version();"
rm -rf /srv/soft/mysql-anzhuang
rm -rf ${SysBase}/MySQLupdate.sh
:wq #保存退出
[root@localhost soft]# chmod +x MySQLupdate.sh #赋予脚本执行权限
[root@localhost soft]# ./MySQLupdate.sh #执行脚本
Please input mysql port: 3307 #mysql端口号
Please input package name: mysql-5.7.40-el7-x86_64.tar.gz #更新包
可以看到途中提示”This installation of MySQL is already upgraded to 5.7.40, use --force if you still need to run mysql_upgrade“
翻译:MySQL的安装已经升级到5.7.40,如果您仍然需要运行MySQL_upgrade,请使用–force
四、结束语
本次MySQL安装、升级就结束了,感谢认真读完,如果觉得还可以,那么给作者点赞、收藏、关注吧!