mysql8已经发布好多年,mysql9也已经发布,目前我仍然在用5.7,因为最近服务器到期需要搬迁,就想着顺便升级到mysql9,当然本地的开发环境也要同步升级到9。
先停止本地的mysql服务:
brew services stop mysql@5.7
然后备份下mysql中的数据,有多个就执行多次
mysqldump -u root -p database_name > ./database_name.sql
mv /usr/local/var/mysql /usr/local/var/mysql5_7 #备份mysql5_7的目录,新安装默认也是这目录
mv /usr/local/etc/my.cnf /usr/local/etc/my.cnf5_7 #备份配置,新配置不一样,不删除原有,新的mysql启动不了
然后把老版本的mysql卸载掉
brew uninstall mysql@5.7
卸载成功后,开始安装mysql9
brew install mysql
经过漫长的等待后,把原先备份的my.cnf配置改到新的my.cnf上,
# Default Homebrew MySQL server config
[mysqld]
# Only allow connections from localhost
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1
#added by self
log_error = /var/log/mysql/error.log
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
我们启动mysql
brew services start mysql
使用命令登陆mysql,默认没有密码
mysql -u root
设置mysql的密码
mysql_secure_installation
按步骤设置完成密码,然后创建好数据库并导入之前备份的数据库,有多个导入多个
mysql -uroot -p database_name < ./database_name.sql
最后执行下mysql的版本,显示如下
mysql -V
遇到的问题就是忘记把my.cnf配置文件和数据目录移掉,导致mysql启动一直报错。