从 CentOS 7 开始,自带的数据库就变成 MariaDB 了,yum 安装的 mariadb 默认版本是 5.5 ,实际开发中一些 SQL 特性和语法支持的不是太好,本文记录的是平滑升级 MariaDB 5.5 到 10.x 新版本的实践操作过程。
升级 mariadb 版本
确认已安装的数据库版本
1 | mysql --version |
确定当前数据库数据
备份
备份非常重要!备份非常重要!备份非常重要!
升级前一定要注意备份,除非你不在乎数据库中的数据或配置。
备份数据库到 backup.sql 文件
1 | mysqldump -u root -p --all-databases > ~/myConf/backup.sql |
也可以备份一下数据库配置(如果需要保留 my.cnf)
1 | mv /etc/my.cnf /etc/my.cnf.bak |
停止数据库运行
1 | systemctl stop mariadb |
添加 MariaDB Yum 源
建议使用 MariaDB 官方推荐的 stable 稳定版:
新建并添加 MariaDB 官方源
1 | vi /etc/yum.repos.d/MariaDB.repo |
复制粘贴以下内容
1 | MariaDB 10.3 CentOS repository list |
检查是否添加成功
清除 yum 源缓存
1 | yum clean all |
建立新的 yum 源缓存
1 | yum makecache |
升级已有数据库
安装 MariaDB 新版本
1 | yum install mariadb mariadb-server |
启动新版 MariaDB
1 | systemctl start mariadb |
升级已有数据库
1 | mysql_upgrade -uroot -p --force |
配置服务自启动
1 | systemctl enable mariadb |
登录数据库验证
1 | mysql -uroot -p |
查看当前版本并检查数据是否丢失
恢复数据
查看原用户是否存在、原用户密码是否存在
如果原用户不存在,就重写创建用户
1 | use mysql; |
恢复数据库
1 | mysql -u root -p < ~/myConf/backup.sql |