1.下載MYQL
下載地址爲https://dev.mysql.com/downloads/repo/yum/
2. 安裝
這裏如果下載的是zip 包,直接解壓到一個安裝目錄即可完成,我的文件夾地址C:\Users\Administrator\mysql-8.0.18-winx64\mysql-8.0.18-winx64
3.配置
在文件夾中新建一個my.ini的文件
[mysqld]
# 設置3306端口
port=3306
# 設置mysql的安裝目錄
basedir=C:\Users\Administrator\mysql-8.0.18-winx64\mysql-8.0.18-winx64
# 設置mysql數據庫的數據的存放目錄
datadir=C:\Users\Administrator\mysql-8.0.18-winx64\mysql-8.0.18-winx64
# 允許最大連接數
max_connections=200
# 允許連接失敗的次數。這是爲了防止有人從該主機試圖攻擊數據庫系統
max_connect_errors=10
# 服務端使用的字符集默認爲UTF8
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
# 默認使用“mysql_native_password”插件認證
default_authentication_plugin=mysql_native_password
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[client]
# 設置mysql客戶端連接服務端時默認使用的端口
port=3306
default-character-set=utf8
4.再然後輸入mysqld --install安裝mysql服務
5.啓動服務 net start mysql
但是這裏一般會出現,正在啓動服務,服務無法啓動的錯誤。
6.重新先用msqld --remove 刪除掉服務,再把data文件夾也刪除,依次執行以下三條命令
mysqld --initialize-insecure
mysqld --install
net start mysql
7.登錄mysql
mysqladmin -u root -p password
Enter passworld : 這個密碼就是mysqld --install建立的時候密碼
8.python連接mysql
import mysql.connector
mydb = mysql.connector.connect(host="localhost",user="root",password="123456",auth_plugin='mysql_native_password')
mycursor = mydb.cursor()
mycursor.execute("CREATE DATABASE runoob_db")
但會出現下面的情況,出現這個原因是mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之後,加密規則是caching_sha2_password, 解決問題方法有兩種,一種是升級navicat驅動,一種是把mysql用戶登錄密碼加密規則還原成mysql_native_password.
解決辦法
(1)管理員權限運行命令提示符,登陸MySQL(記得添加環境變量)
mysql -u root -p
(2)修改賬戶密碼加密規則並更新用戶密碼
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER; #修改加密規則
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; #更新一下用戶的密碼
(3)刷新權限並重置密碼
FLUSH PRIVILEGES; #刷新權限
(4)單獨重置密碼命令:
alter user ‘root’@‘localhost’ identified by ‘111111’;