mysql連接錯誤解決
阿新 • • 發佈:2018-05-13
use 原來 存在 找到 mooc ... ESS lose local
屏幕出現: Starting demo from .....
3.新開起一個終端輸入
[root@vultr ~]# mysql -u root mysql
mysql> delete from user where USER=‘‘;
mysql> FLUSH PRIVILEGES; // 一定要寫入,否則如果關閉先前的終端,又會出現原來的錯誤
mysql> \q
情況一:
錯誤: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 : [email protected] # @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 : [email protected] # @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:[email protected]: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
mysql連接錯誤解決