MySQL5.5.x 升级到 5.6.49
MySQL 升级到 5.6.49
1. 准备
PS : 已 SAG 项目为例:安装目录是 /usr/local
- 本文档适用的 MySQL 版本:5.5.x
1.1 基本准备
附件: MySQL-5.6.49
## 进入主目录 (这里以/usr/local为例)
cd /usr/local
## 备份数据库 -u 账号 -p密码 -B 数据库(多个空格分隔)
/usr/local/mysql/bin/mysqldump -h localhost -u sortec -p'xxxxx' -B sag > /home/sag_data_bak.sql
## 停止服务
service mysqld stop
## 查看mysql进程,如果还有msyql进程则杀掉
ps -ef|grep mysql
## 备份目录
mv mysql mysql.bak
### 上传mysql压缩包到主目录
## 解压文件
tar -xzvf mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz
## 修改文件名为msyql
mv mysql-5.6.49-linux-glibc2.12-x86_64 mysql
## 授权为mysql访问
chown -R mysql:mysql mysql
## 进入msyql新版本目录
cd mysql
2. 升级
PS : 下面文档中 xxxx 代表密码
- 初始化默认数据库运行此命令:
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
出现错误:
FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db:
Data::Dumper
解决方法 :安装 autoconf 库
命令:yum -y install autoconf // 此包安装时会安装 Data:Dumper 模块
- 启动 mysql
service mysqld start
- 进入 mysql
# 默认没有密码
/usr/local/mysql/bin/mysql -uroot -p
- 修改 root 默认密码
use mysql;
UPDATE user SET Password = password ( 'xxxxx' ) WHERE User = 'root' ;
flush privileges;
- 用户信息导入 (xxxxx 代表密码)
GRANT ALL PRIVILEGES ON *.* TO sortec@'%' IDENTIFIED BY 'xxxxx' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO sortec@localhost IDENTIFIED BY 'xxxxx' WITH GRANT OPTION;
GRANT SELECT ON *.* TO sag@'%' IDENTIFIED BY 'xxxxx';
GRANT SELECT ON *.* TO sag@localhost;
delete from mysql.user where user='';
flush privileges;
- 导入数据 使用 sortec 用户导入数据
/usr/local/mysql/bin/mysql -u sortec -p'xxxxx'
source /home/sag_data_bak.sql
3. 还原
PS : 还原的时候注意还原成之前的版本号,下面是还原成 mysql-5.5.41 的示例
## 停止mysql服务
service mysqld stop
## 进入安装目录
cd /usr/local
## 查看软连接信息(方便还原使用)
ll |grep mysql
## 还原mysql
mv mysql mysql-5.6.49-linux-glibc2.12-x86_64
mv mysql.bak mysql
##启动mysql
service mysqld start