MySQL 8.0 好处多多
- 速度快了一倍
- 默认 utf8mb4 编码
- JSON 增强
- 窗口函数,比如:rank
- GIS 提升
- InnoDB 引擎的 NO WAIT 和 SKIP \ LOCKED 选项
下面开始介绍 服务器(ubuntu)和 本级(macOS)的 MySQL 从 5.7 升级 8.0 的过程。
虽然下面的步骤我实测,升级完成后数据完好无损,但这很大程度是因为我的旧数据类型比较单一。
所以,防止数据损坏,请一定做好数据备份。
一、开始升级(服务器)
环境:ubuntu 18 64位
1、备份数据
数据无价,请做好备份
2、升级前的检查准备
在终端运行命令:
返回结果如果全部都是 OK, 就表示检查没问题。
3、添加 MySQL APT
下载 deb 文件:https://dev.mysql.com/downloads/repo/apt/
更新 apt-get:
这里会出现个 TUI 的对话框,第一个选项选择 8.0
4、安装
查看 mysql 版本
二、开始升级(本地)
1、清理旧数据
2、安装
3、启动
通过上面的命令启动命令时,会出现 MySQL 服务启动失败的情况。
可通过下面的命令,查看 MySQl 是否启动成功。
如果发现服务启动不起来,可查看 MySQL 错误日志(/usr/local/var/mysql/计算机名.err)。
4、常见报错和解决办法
服务启动不起来
错误1:Failed to find valid data directory
错误2:The server quit without updating PID file!
...
- 删除 MySQL data 目录:
rm -rf /usr/local/var/mysql/
- 重新初始化数据目录:
mysqld --initialize-insecure
- 重启服务即可
密码为空桌面客户端链接不上服务器
- 查看用户和密码:
select host, user, authentication_string, plugin from mysql.user;
- 设置密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxx';
- 注意密码需要是 8 位,并且带有大写字母、小写字母、数字、特殊字符。
最后,遇到问题不要慌:
- 查看错误日志:/usr/local/var/mysql/计算机名.err
- 根据日志求助搜索引擎
- 整坏了,重装
brew reinstall mysql
即可
三、参考
- ubuntu18.04系统下将MySQL版本从5.7升级到8.0
- Mac卸载mysql并安装mysql升级到8.0.13版本
作者:削微寒