一、Mysql和Navicat安装
mysql在官网安装commuity版本,网址为MySQL官网安装,Navicat则是找的破解版。
按照正常顺序按照,但是在偏好设置里启动MySQL发生问题:启动数秒后自动关闭。
有两种方式可以找到错误原因:
- 在偏好设置里找到错误日志的地址
打开对应位置的错误日志,观察内容 - 在shell中启动mysql,观察返回的错误信息
cd /usr/local/mysql/support-files #进入到对应目录
sudo ./mysql.server start #启动mysql
然后返回错误信息:
.2020-11-24T10:07:32.6NZ mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists. ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.pid).
这个错误信息实际上是因为mysql在启动时加载了错误的配置文件,该错误文件是/etc/my.cnf
(我之前确实配置过这个文件)。尝试打开这个文件:
cat /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
把这个文件重命名,让它无法正常启动:
sudo mv /etc/my.cnf /etc/my.cnf.bak
改完之后MySQL已经能正常使用了。
二、将Navicat连接到MySQL
打开Navicat,新建Mysql连接,输入安装mysql时设定的密码,然后出现错误信息:
2059 - Authentication plugin 'caching_sha2_password' cannot be loaded dlope
结合博客Navicat 2059解决方法给出的原因,应该是从mysql5.7版本之后,默认采用了caching_sha2_password验证方式,而Navicat并不支持该方式,所以应该重新设置mysql,让它使用旧的验证方式(仔细回想确实在安装时有两个登入方式选择)。
cd /usr/local/mysql-8.0.22-macos10.15-x86_64 #这个地址可以在偏好设置里找到
mysql -u root -p #运行mysql
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpasswd'
运行完成后就能成功连接到Navicat了。