一、备份原数据库
进入旧mysql的bin目录下,执行下面命令,把所有数据都导出到/home/mysqlData/all.sql
./mysqldump -h127.0.0.1 -uroot -p123456 --all-databases > /home/mysqlData/all.sql
二、安装新数据库
先停掉旧mysql服务
service mysql stop
上传mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz到指定目录,并解压
tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.28-linux-glibc2.12-x86_64 mysql8.0.28
修改原/etc/my.cnf文件,文件目录指向新版本mysql文件地址
[mysqld]
basedir = /usr/local/mysql8.0.28
datadir = /usr/local/mysql8.0.28/data
log_error = /usr/local/mysql8.0.28/mysql-error.log
port = 3306
socket = /usr/local/mysql8.0.28/mysql.sock
pid_file = /usr/local/mysql8.0.28/mysqld.pid
character-set-server=utf8
lower_case_table_names=1
max_connections=1000
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
#skip-grant-tables
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
socket = /usr/local/mysql8.0.28/mysql.sock
初始化数据库
进入新mysql的bin目录下,执行
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql8.0.28/ --datadir=/usr/local/mysql8.0.28/data/ --user=mysql --initialize
查看初始密码
cat /usr/local/mysql8.0.28/mysql-error.log
把mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql8.0.28/support-files/mysql.server /etc/init.d/mysql
启动mysql
service mysql start
把mysql服务链接到/usr/bin目录下
ln -s /usr/local/mysql8.0.28/bin/mysql /usr/bin
查看版本
mysql -V
使用初始密码登录到mysql
mysql -uroot -p
输入初始化完成之后的初始密码
修改初始密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
恢复备份的文件
use mysql
source /home/mysqlData/all.sql #第一步备份文件的地址
到此,版本升级完成,登录到mysql,可以看到旧版本的数据