最近重启电脑后,发现之前已经安装好的mysql又不能连接了,卸载重装捣鼓了好久,把遇到的问题记录下来,方便下次查找。
问题一:command not found
1.官网上下载了mysql5.7版本的安装包,点击安装包安装。
mysql-5.7.29-macos10.14-x86_64.dmg
2.安装之后,打开命令行输入以下命令登录:
mysql -u root -p
结果提示:command not found
原因:在/usr/local/mysql/bin下没有找到mysql
参考这篇文章:https://www.jianshu.com/p/25a147790885
方法一:
命令行输入:alias mysql=/usr/local/mysql/bin/mysql
但是这个方法是暂时的,后来电脑重启后还是报了这个错
方法二:
设置环境变量:
vim ~/.bash_profile打开环境变量
添加内容如图,保存后source一下
设置完成后再次输入mysql,又出现了另外的问题:
问题二:Access denied for user:'root@127.0.0.1'(using password:YES)
继续百度,有说编辑mysql配置文件my.ini的,我去找了下没有这个文件。
百度下来,应该是mysql版本的问题,老版本是有这个文件的。
命令行输入如下命令:
cd /usr/local/mysql/bin
sudo su
输入密码
./mysqld_safe --skip-grant-tables &
之后输入./mysql就OK了
之后重置密码:
update mysql.user set authentication_string="123456" where user="root";
flush privileges;
注意分号不要忘记了。
之前没有注意版本,上面语句是set password,并没有成功
参考链接:https://blog.csdn.net/pan15125284/article/details/91410965
问题3:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)、
官方文档:https://dev.mysql.com/doc/refman/5.7/en/can-not-connect-to-server.html
这个问题其实并不知道怎么解决的,有说是登录时用的localhost,应该用127.0.0.1,试过后并没有用
之后就重启电脑,之后发现OK了,仍然出现了问题2
问题4:系统偏好设置里的mysql服务点击关闭无反应。
去活动监视器里关闭
问题5:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
重启电脑后,sequel Pro连接不上了,提示密码过期。在命令行处输入show databases;提示了上面的问题。
在命令行输入:alter user 'root'@'localhost' identified by '123456';
sequel Pro再次尝试连接,成功了。
问题6:python import MySQLDB报错:Reason:image not found
在网上找了一下,Library not loaded: /usr/local/opt/mysql/lib/libmysqlclient.21.dylib这个没有找到,需要管理一下
然后去安装路径下/usr/local/mysql/lib下并没有libmysqlclient.21.dylib,只有一个20的。
后来用pip list发现安装的mysqlclient版本是1.4.6,切换成1.3.12后就OK了。
问题7: Authentication plugin 'caching_sha2_password' cannot be loaded