标签:env l数据库 现在 结果 col 创建 track repr /usr
情况一:
错误:ERROR 1044 (42000): Access denied for user ‘‘@‘localhost‘ to database ‘mysql‘
mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的‘‘@‘localhost‘可以看出来。
解决方法:参考
1.关闭mysql
[root@vultr ~]# service mysqld stop
2.屏蔽权限
[root@vultr ~]# mysqld_safe --skip-grant-table
屏幕出现: Starting demo from .....
3.新开起一个终端输入
[root@vultr ~]# mysql -u root mysql
mysql> delete from user where USER=‘‘;
mysql> FLUSH PRIVILEGES; // 一定要写入,否则如果关闭先前的终端,又会出现原来的错误
mysql> \q
情况二:
我是想通过flask_sqlalchemy来删除mysql里的一个表,但是flask_sqlalchemy只有 db.drop_all()
现在找到一种方法可以使用flask_sqlalchemy和pymysql来进行远程操作
直接使用pymysql来进行删除表操作:
# -*- coding:utf-8 -*- #!/usr/bin/env python # @Author : tianbao # @Contact : gmu1592618@gmail.com # @Time : 2018/5/13 9:55 # @File : pymysql_del_preview.py # @Software: PyCharm import pymysql connect = pymysql.connect( # 连接数据库服务器 user="root", password="root", host="205.266.87.91", port=3306, db="movie", charset="utf8" ) conn = connect.cursor() #创建操作游标 conn.execute("SELECT * FROM user") #选择查看自带的user这个表 (若要查看自己的数据库中的表先use XX再查看) rows = conn.fetchall() #fetchall(): 接收全部的返回结果行,若没有则返回的是表的内容个数 int型 for i in rows: print(i) conn.execute("drop table preview") conn.close() # 关闭游标连接 connect.close() # 关闭数据库服务器连接 释放内存
通过flask_sqlalchemy 再生成原来的表
# -*- coding:utf-8 -*- #!/usr/bin/env python # @Author : tianbao # @Contact : gmu1592618@gmail.com # @Time : 2018/5/13 9:34 # @File : flask_sqlalchemy_create_preview.py # @Software: PyCharm from flask import Flask,render_template from flask_sqlalchemy import SQLAlchemy from datetime import datetime app = Flask(__name__) app.config[‘SQLALCHEMY_DATABASE_URI‘] = "mysql+pymysql://root:root@205.266.87.91:3306/movie" app.config[‘SQLALCHEMY_TRACK_MODIFICATIONS‘] = True app.config[‘SECRET_KEY‘] = "HelloWorld" db = SQLAlchemy(app) # 上映预告 class Preview(db.Model): __tablename__ = ‘preview‘ id = db.Column(db.Integer,primary_key=True) title = db.Column(db.String(255),unique=True) logo = db.Column(db.String(255),unique=True) # 封面 addtime = db.Column(db.DateTime, index=True, default=datetime.now) def __repr__(self): return ‘<Preview %s>‘%self.title if __name__ == ‘__main__‘: db.create_all() # db.drop_all() # role = Role( # name=‘超级管理员‘, # auths=‘‘ # ) # from werkzeug.security import generate_password_hash # admin = Admin( # name=‘imoocmovie1‘, # pwd=generate_password_hash(‘imoocmovie1‘), # is_super=0, # roleid=1, # ) # db.session.add(admin) # db.session.commit() # pass
标签:env l数据库 现在 结果 col 创建 track repr /usr
原文地址:https://www.cnblogs.com/guotianbao/p/9031406.html