前几天手贱啥也没看执行 brew upgrade
,随后就后悔了… 凡事没有一帆风顺,在此总结升级经验,以供后人参考。
0x00
场景:执行 mysql.server start
提示 The server quit without updating PID file mysql.server start
。
解决:
cd /usr/local/var/mysql/
,切换到 MySQL 数据目录(macOS 使用 brew 安装的 MySQL 默认数据存储路径如上)。rm *.err *.pid
,删除原 PID 和 ERR 文件。rm ib_logfile*
,删除原 logfile。
再次尝试,如仍旧报错,可尝试:
cd /usr/local/Cellar/mysql/{5.*}/bin
,切换到旧版本 MySQL 目录(macOS 使用 brew 安装的 MySQL 默认路径如上)。./mysql.server start && ./mysql.server stop
,尝试启动并正常结束。
再次启动新版本服务器,即正常。
0x01
场景:mysql -uroot
进入数据库后,show databases;
提示 ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not exist
。
解决:执行 mysql_upgrade -u root -p
即可。
0x02
场景:设置 sql_mode
提示 SQLSTATE[42000]: Syntax error or access violation: 1231 Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'
。
解决:MySQL 8.0 已废除模式,移除 NO_AUTO_CREATE_USER
即可。