在建立flask基础框架种遇到两个问题
SQLAlchemy问题
在settings配置中
SQLALCHEMY_DATABASE_URI='mysql+pymysql://root:root@xx.xxx.xx.185:3306/feng'
SQLALCHEMY_TRACK_MODIFICATIONS = False
SQLALCHEMY_ECHO = True
SQLALCHEMY_DATABASE_URI的格式填写:
mysqL+pymysqL://user:password@hostip:port/databasename
因为我要把Mysql数据库建立在我的阿里云ESC云服务器中在我按照格式正常填写时运行报错。如下:
pymysql.err.OperationalError: (2003, “Can’t connect to MySQL server on
‘xxxxx’ ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)”
解决方法:
第一种:
阿里云云服务器安全配置组,添加数据库3306端口和80端口添加到安全组中
第二种:
云服务器中的Mysql数据库配置出现问题
第一步:
1.连接云服务器终端。(本人通过FinalShell)
2.用root用户进入/etc/mysql/mysql.conf.d目录中
3.打开mysqld.cnf文件:vim mysqld.cnf(以root用户进入);
4.将bind-address = 127.0.0.1修改为bind-address = 0.0.0.0
5.重启mysql:/etc/init.d/mysql restart
第二步:
1.重新启动数据库:
2.将数据库mysql中的user表中的root用户对应的host改为%
3.重启数据库
第三步:
(原因没有安装数据库后没有重置修改root账户密码)
此时启动仍然报错:
(pymysql.err.OperationalError) (1698, "Access denied for user
‘root’@“xxx.xxx.xxx.xxx”)
1.修改密码:
use mysql;
// 下面这句命令有点长,请注意。
update mysql.user set authentication_string=password('root') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password";
flush privileges;
quit
我这里时将密码改成root了 , password里填写密码
2.重启数据库
sudo service mysql restart
mysql -u root -p // 启动后输入已经修改好的密码:root