mysql安装包获取地址(二进制安装和本地升级方式)。
一、二进制安装源码包
1、mysql 5.7以上的尽量用双数版。
2、下载安装包路径
[mysql官网](https://downloads.mysql.com/archives/community/)
3、注意MD5值校验(MD5安装包如下)
yum install -y coreutils
md5sum md5sum mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
4、安装规范查看支持列表。
https://www.mysql.com/support/supportedplatforms/database.html
https://www.mysql.com/support/eol-notice.html
对比没有问题之后创建mysql用户。
1、创建用户
useradd -s /sbin/nologin mysql
2、创建数据目录和binlog目录
mkdir -p /data/mysql/data
mkdir -p /data/mysql/bin_log
3、上传软件并解压
tar xf ./mysql mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
tar xf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
4、 移动到/usr/local下面
mv mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/
mv mysql-8.0.28-linux-glibc2.12-x86_64 /usr/local
5、制作软连接
ln -s mysql-5.7.36-linux-glibc2.12-x86_64 mysql57
ln -s mysql-5.7.36-linux-glibc2.12-x86_64 mysql80
6、添加环境变量(建议做之前先备份)
echo 'export PATH=/usr/local/mysql57/bin:$PATH' >>/etc/profile
source /etc/profile
7、检查
mysql -V 查看命令是否可用
8、授权
chown -R mysql.mysql /data /usr/local/mysql*
9、初始化
yum install libaio-devel -y
mysqld --defaults-file=/etc/my.cnf --initialize-insecure
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql57 --datadir=/data/mysql/data
mysqld --initialize --user=mysql --basedir=/usr/local/mysql57 --datadir=/data/mysql/data
区别上面一种没有默认密码。下面有。
*有密码修改方式 mysqladmin -uroot -p password
10、编辑配置文件(发现默认有这个文件,请观察是否有数据库在用。建议不要用默认的文件)
cat >/etc/my.cnf<<EOF
[mysqld]
user=mysql
basedir=/usr/local/mysql57
datadir=/data/mysql/data
port=3306
socket=/tmp/mysql.sock
server_id=6
log_bin=/data/mysql/bin_log
innodb_undo_directory=/data/mysql/data
innodb_undo_tablespaces = 2
innodb_undo_logs = 128
[mysql]
socket=/tmp/mysql.sock
EOF
11、启动数据方式(启动失败看日志)
①
cp /usr/local/mysql57/support-files/mysql.server /etc/init.d/mysqld
service mysqld start
②
chkconfig --add mysqld
systemctl start mysql
③
/usr/local/mysql57/bin/mysqld_safe --defaults-file=/etc/my.cnf &
二、本地升级mysql版本(8.0本地升级不可回退)
1、下载目标版本的mysql-shell
https://downloads.mysql.com/archives/shell/
选择对应版本的sell。选择 linux-Generic版本的。wget 一下
2、把文件cp到/usr/local/下面,并添加到环境变量里面
echo 'export PATH=/usr/local/mysql-sh/bin:$PATH' >>/etc/profile
3、给源数据库里面创建用户
grant all on *.* to root@'10.0.0.%' identified by '123';
4、检查(可以>文件里面查看。)
mysqlsh root:123@10.0.0.51:3306 -e "util.checkForServerUpgrade()"
5、关闭原来数据库(业务低峰期做此操作,尤其注意有没有大事务在跑。)
mysqladmin shutdown
6、修改配置文件
用新版本的软件升级旧版本的数据
修改旧版本的配置文件
basedir=/usr/local/mysql80
7、修改配置文件
vim /etc/profile
export PATH=/usr/local/mysql80/bin:$PATH
source /etc/profile
8、备份数据文件
cp /data/mysql/data /opt/data_mysql57.bak
9、高版本启动脚本cp到/etc/init.d/mysqld
cp /usr/local/mysql80/support-files/mysql.server /etc/init.d/mysqld
10、启动数据库(启动较慢)
systemctl start mysqld
11、观察日志未发现报错。观看数据目录结构发生改变。则升级成功。