1. 程式人生 > >MYSQL連線Pycharm錯誤:Access denied for user 'root'@'localhost' (using password:YES)

MYSQL連線Pycharm錯誤:Access denied for user 'root'@'localhost' (using password:YES)

pycharm連線MySQL錯誤處理

用pycharm連線MySQL資料庫,出現錯誤:Access denied for user 'root'@'localhost' (using password:YES)

經百度發現是root帳戶預設不開放遠端訪問許可權,所以需要修改一下相關許可權。

解決方案:
  1. 開啟MySQL目錄下的my-default.ini檔案,在檔案的最後新增一行“skip-grant-tables”,儲存並關閉檔案。(WIN7預設安裝,my.ini在C:\ProgramData\MySQL\MySQL Server 5.6)
  2. 重啟MySQL服務。
  3. 通過命令列進入MySQL的BIN目錄,輸入“mysql -u root -p”(不輸入密碼),回車即可進入資料庫。(WIN7預設安裝,BIN目錄為:C:\Program Files\MySQL\MySQL Server 5.6\bin)
  4. 執行“use mysql;”,使用mysql資料庫。
  5. 執行“update user set password=PASSWORD("123456") where user='root';”(修改root的密碼)
     6. 開啟MySQL目錄下的my.ini檔案,刪除最後一行的“skip-grant-tables”,儲存並關閉檔案。      7. 重啟MySQL服務。      8. 在命令列中輸入“mysql -u root -p ”,輸入密碼:"123456"成功登入資料庫。

      完成以上步驟,就可以成功連線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()

執行之後,我們發現連線資料庫並且資料讀寫成功:


搞定!大笑大笑大笑