1、前言
记得之前安装mysql5.7的时候,是可以直接从设置里面的mysql面板启动的,但是到了mysql8.0之后就启动不了了,这个问题不知道是版本问题还是我换了m系列芯片的mysql导致的,之前很多次都启动不了,这次搞了下,竟然弄到可以自启动了,那就记录一下。
2、相关知识
2.1、mysql的安装位置
mysql使用dmg安装是带版本信息的,为了消除路径的差异,会软链接到/usr/local/mysql
路径,如下所示:
❯ cd /usr/local
❯ ll
total 0
drwxr-xr-x 43 root wheel 1.3K 10 28 09:33 bin
drwxr-xr-x 6 root wheel 192B 7 2 2023 include
drwxr-xr-x 5 root wheel 160B 10 27 22:31 lib
drwxr-xr-x 3 root wheel 96B 9 27 2022 logs
lrwxr-xr-x 1 root wheel 25B 1 28 19:51 mysql -> mysql-8.3.0-macos14-arm64
drwxr-xr-x 13 root wheel 416B 1 28 20:02 mysql-8.3.0-macos14-arm64
drwxr-xr-x 4 root wheel 128B 1 17 2023 sbin
drwxr-xr-x 4 root wheel 128B 10 27 22:31 share
drwxr-xr-x 3 root wheel 96B 9 27 2022 work
2.2、mysql启动文件
mysql启动不知道什么原因在设置面板的mysql设置也启动不起来,/usr/local/mysql/bin
路径是mysql执行文件的位置,/usr/local/mysql/support-files
文件查有mysql.server文件可以启动mysql.
2.3、mysql启动命令
1、使用mysqld启动:
sudo /usr/local/mysql/bin/mysqld
他会提示你去看root身份手动启动mysql的文档
2、使用mysql_safe启动:
sudo /usr/local/mysql/bin/mysqld_safe
但是这个方式启动不能ctrl+c退出启动
停止只能通过:
sudo /usr/local/mysql/bin/mysqladmin -u root -p你的密码 shutdown
3、使用mysql.server启动:
sudo /usr/local/mysql/support-files/mysql.server start
停止用:
sudo /usr/local/mysql/support-files/mysql.server stop
4、使用launchctl load启动
sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
停止也可以使用:
sudo /usr/local/mysql/bin/mysqladmin -u root -p你的密码 shutdown
2.4、错误日志打印
下面知识我本机的位置,你自己去对应目录找相应后缀的文件
tail -200f /usr/local/mysql/data/hitvzdeMacBook-Pro.local.err
2.5、查看是否启动mysql
ps -ef|grep "mysql"
3、mysql自启动设置
设置面板还是点击不了,所以这里只能使用命令了。
设置自启动:
sudo launchctl load -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
我第一次尝试的时候,报了个错,但是还是启动了。
报错如下:
Load failed: 5: Input/output error
Try running `launchctl bootstrap` as root for richer errors.
删除自启动:
sudo launchctl unload -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
删除自启动后,mysql会自动停止。
查询mysql是否在启动列表:
launchctl list|grep "mysql"
参考文章:2.4.3 Installing and Using the MySQL Launch Daemon
参考博客:launchctl :MAC 下的定时任务