MYSQL連線Pycharm錯誤:Access denied for user 'root'@'localhost' (using password:YES)
阿新 • • 發佈:2019-02-07
pycharm連線MySQL錯誤處理
用pycharm連線MySQL資料庫,出現錯誤:Access denied for user 'root'@'localhost' (using password:YES)
經百度發現是root帳戶預設不開放遠端訪問許可權,所以需要修改一下相關許可權。
解決方案:- 開啟MySQL目錄下的my-default.ini檔案,在檔案的最後新增一行“skip-grant-tables”,儲存並關閉檔案。(WIN7預設安裝,my.ini在C:\ProgramData\MySQL\MySQL Server 5.6)
- 重啟MySQL服務。
- 通過命令列進入MySQL的BIN目錄,輸入“mysql -u root -p”(不輸入密碼),回車即可進入資料庫。(WIN7預設安裝,BIN目錄為:C:\Program Files\MySQL\MySQL Server 5.6\bin)
- 執行“use mysql;”,使用mysql資料庫。
- 執行“update user set password=PASSWORD("123456") where user='root';”(修改root的密碼)
完成以上步驟,就可以成功連線MySQL了。
連線測試:
下面是Pycharm中的python測試程式碼:
#連線到MySql伺服器 import pymysql as MySQLdb # change root password to yours: conn = MySQLdb.connect(host='127.0.0.1',user='root', password='123456', database='test') cursor = conn.cursor() # 建立user表: cursor.execute('create table user (id varchar(20) primary key, name varchar(20))') # 插入一行記錄,注意MySQL的佔位符是%s: cursor.execute('insert into user (id, name) values (%s, %s)', ('1', 'Michael')) print('rowcount =', cursor.rowcount) # 提交事務: conn.commit() cursor.close() # 執行查詢: cursor = conn.cursor() cursor.execute('select * from user where id = %s', ('1',)) values = cursor.fetchall() print(values) # 關閉Cursor和Connection: cursor.close() conn.close()
執行之後,我們發現連線資料庫並且資料讀寫成功: