Python小白的学习经历之Django中MySQL配置的问题
在Django中修改数据库为MySQL时,设置主机地址为非’127.0.0.1’,即可远程访问时,会出现连接失败的错误,如:2003 (HY000): Can’t connect to MySQL server on ‘192.168.172.168’ (111)connection failed。
我的Django中MySQL配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '192.168.172.138',
'PORT': 3306,
'USER': 'ccut',
'PASSWORD': '123456',
'NAME': 'meiduo',
}
}
我创建了一个MySQL用户
create user ccut identified by '123456';
授权这个用户访问指定的数据库
grant all on meiduo.* to 'ccut'@'%';
也可以访问全部数据库
grant all on *.* to 'ccut'@'%';
刷新特权
flush privileges;
这样配置完成后运行程序,就出现了连接失败的错误,查了不少文章,发现是由于在MySQL的配置文件中有设置绑定ip的代码
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
将这段代码注释掉即可,或者添加想要的监听地址即可。
MySQL的配置文件的路径一般为:/etc/mysql/mysql.conf.d/mysqld.conf
然后重启MySQL数据库就可以了
sudo service mysql restart