最近在鼓捣着开发Django,然后环境如下:
- Python 3.7.3
- Django 3.0.3
- MySQL 5.7.26
Python连接MySQL数据库需要安装pymysql模块,然后安装完这个模块之后接着需要安装一个msqlclient的模块,但就在这个模块的安装过程中出现了错误
OSError: mysql_config not found
Command "python setup.py egg_info" failed with error code 1 in
/private/var/folders/jf/qymg1tp13sb434xzh5knyl6r0000gn/T/pip-build-NlZGvS/mysqlclient/
解决方法是先行安装mysql-connector-c
brew install mysql-connector-c
接着找到如下文件
/usr/local/bin/mysql_config
修改内容如下:
# origin code
# Create options
libs="-L$pkglibdir"
libs="$libs -l "
# change to
# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
修改完成之后再行安装mysqlclient模块即可成功安装。
代码的世界哪有一帆风顺的
接着我发现我terminal中的输入mysql表示command not found
Navicat中连接数据库出现ERROR 1045(28000):Access denied for user 'root'@'localhost'(using password:YES)的提示,瞬间黑人问号,之前是好的啊。
首先我解决terminal中的mysql命令提示找不到的问题,试了很多办法,目前成功的是
alias mysql=/usr/local/mysql/bin/mysql
解决这个问题之后就是解决这个1045了
第一步
在系统偏好设置中停止运行MySQL
第二步
打开终端,输入
cd /usr/lcoal/mysql/bin
sudo su
然后命令行变成以sh-3.2#开头,接着输入命令
./mysqld_safe --skip-grant-tables &
成功进入会出现如下提示
sh-3.2# Logging to '/usr/local/mysql-5.7.26-macos10.14-x86_64/data/fangyongdeMacBook-
Air.local.err'.
2020-02-07T02:57:06.6NZ mysqld_safe Starting mysqld daemon with databases from
/usr/local/mysql-5.7.26-macos10.14-x86_64/data
第三步
新建一个终端,输入如下命令
/usr/local/mysql/bin/mysql
出现提示如下
Last login: Fri Feb 7 10:45:28 on ttys002
fangyongdeMacBook-Air:~ fangyong$ /usr/local/mysql/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.7.26 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
接着输入
mysql>usr mysql;
选择数据库后输入
mysql>update user set authentication_string=password('你的新密码') where Host='localhost' and
User='root';
执行完成退出数据库,之前那个terminal中按control+c中断即可
问题解决!
以上解决方法中有一些是从其他网友那看来的,附上链接,感谢他们的解决方法
解决连接MySQL提示1045错误的方法