1. 安装MySQLdb时运行sudopythonsetup.py install报错EnvironmentError: mysql_config not found
在安装 mysql-python时,会出现:
sh: mysql_config: not found
Traceback (most recent calllast):
File"setup.py", line 15, in metadata, options=get_config()
File"/home/zhxia/apps/source/MySQL-python-1.2.3/setup_posix.py", line 43, inget_config
libs= mysql_config("libs_r")
File"/home/zhxia/apps/source/MySQL-python-1.2.3/setup_posix.py", line 24, inmysql_config
raise EnvironmentError("%s not found" %(mysql_config.path,))
EnvironmentError: mysql_config not found
原因是没有安装:libmysqlclient-dev
sudo apt-get install libmysqlclient-dev
自己电脑上做到这里就完成了。原文里还有以下步骤,如果还是不能安装可以试试。
找到mysql_config文件的路径
sudoupdatedblocate mysql_config
mysql_config的位置为:/usr/bin/mysql_config
在mysql-python源码包下找到:setup_posix.py 文件,然后找到文件中的 mysql_config.path 将其值改为:/usr/bin/mysql_config,然后 sudo python setup.py install ,就ok了
2.import MySQLdb UserWarning错误
原因是,install后MySQLdb模块已经被放到python的site-pachages目录中;但在当前目录也存在相同的模块,所以可能会重复导入。只要切换到其他目录运行就可以了。
3. 远程连接报错ERROR 1130: Host '115.1XX.X.3' is not allowed to connect to this MySQL server
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
use mysql;
update user set host = '%' where user = 'root';
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH
GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIEDBY
'mypassword' WITH GRANT OPTION;
本人使用第一种方法成功了。
4.ERROR 2003 (HY000): Can't connect to MySQL server on '10.16.XXX.XXX' (111)
可能使用了bind_address=127.0.0.1(当然也可以是其他ip)
[mysqld]bind_address=127.0.0.1
通过查看了my.cnf文件,注释掉这一句再重启mysql服务即可。
5.修改了my.cnf后如何重启mysql服务?
停止mysql:
方式一:sudo /etc/init.d/mysql stop
方式二:sudo stop mysql
方式三:sudo service mysql stop (亲测可行)
重启mysql:
方式一:sudo/etc/init.d/mysql restart
方式二:sudo restart mysql
方式三:sudo service mysql restart