
本地安裝MySQL
準(zhǔn)備
- 系統(tǒng) - Windows10
- MySQL版本 - mysql-8.0.16
下載地址 :https://dev.mysql.com/downloads/mysql/
我這里下載了社區(qū)版 壓縮版本的MySQL 所以等下需要進(jìn)行配置環(huán)境變量
開始安裝
解壓
- 右鍵點(diǎn)擊解壓到當(dāng)前文件夾
- 將下載好的 zip 包解壓到相應(yīng)的目錄,這里我將解壓后的文件夾放在 D:\app\code\mysql\mysql-8.0.16-winx64
配置 MySQL 的配置文件
- 打開剛剛解壓的文件夾 D:\app\code\mysql\mysql-8.0.16-winx64
- 在該文件夾下創(chuàng)建 my.ini 配置文件,編輯 my.ini 配置以下基本信息:
[client]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8
[mysqld]
# 設(shè)置3306端口
port = 3306
# 設(shè)置mysql的安裝目錄
basedir=D:\\app\\code\\mysql\\mysql-8.0.16-winx64
啟動 MySQL 數(shù)據(jù)庫
- 以管理員身份打開 cmd 命令行工具,切換目錄:
- 因?yàn)槲沂窃贒盤下 所以要先切換到D盤
直接輸入 切換到D盤
d:
- 直接拷貝 安裝路徑 輸入
cd D:\app\code\mysql\mysql-8.0.16-winx64\bin
- 初始化數(shù)據(jù)庫
mysqld --initialize --console
執(zhí)行完成后,會輸出 root 用戶的初始默認(rèn)密碼,如:
...2018-04-20T02:35:05.464644Z5[Note][MY-010454][Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ...
APWCY5ws&hjQ 就是初始密碼,后續(xù)登錄需要用到,你也可以在登陸后修改密碼。
- 輸入以下安裝命令:
mysqld install
PS : 這里安裝MySQL服務(wù)到系統(tǒng) 這也是為什么需要管理員權(quán)限打開cmd的原因了
- 啟動輸入以下命令即可:
net start mysql
PS : 在 5.7 需要初始化 data 目錄:
cd D:\app\code\mysql\mysql-8.0.16-winx64\bin mysqld --initialize-insecure
初始化后再運(yùn)行 net start mysql 即可啟動 mysql
修改密碼
alter user user() identified by "新密碼";
到這里我們就可以使用我們新設(shè)置的密碼登陸root了
接下來介紹使用可視化工具連接到數(shù)據(jù)庫 不過還真的是問題多多 樂趣多多呢
Navicat連接數(shù)據(jù)庫
問題描述
使用Navicat Premium 12連接MySQL數(shù)據(jù)庫時(shí)會出現(xiàn)Authentication plugin 'caching_sha2_password' cannot be loaded的錯(cuò)誤。
原因
原因是mysql8 之前的版本中加密規(guī)則是mysql_native_password,而在mysql8之后,加密規(guī)則是caching_sha2_password
解決問題
解決問題方法有兩種,一種是升級navicat驅(qū)動,一種是把mysql用戶登錄密碼加密規(guī)則還原成mysql_native_password.
這里用第二種方式 ,解決方法如下
- 管理員權(quán)限運(yùn)行命令提示符,登陸MySQL(記得添加環(huán)境變量 如果不加環(huán)境變量就要到該目錄下才能使用一下的命令)
mysql -u root -p
password: #登入mysql
- 修改賬戶密碼加密規(guī)則并更新用戶密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密規(guī)則
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用戶的密碼
- 刷新權(quán)限并重置密碼
FLUSH PRIVILEGES; #刷新權(quán)限
結(jié)果
打開Navicat Premium 12連接MySQL數(shù)據(jù)庫 連接成功
順便一提
添加環(huán)境變量
- 右鍵計(jì)算機(jī)點(diǎn)擊屬性
- 點(diǎn)擊高級系統(tǒng)設(shè)置
- 點(diǎn)擊環(huán)境變量
- 找到PATH 添加進(jìn)去則可 這里則是
D:\app\code\mysql\mysql-8.0.16-winx64\bin
導(dǎo)入數(shù)據(jù)庫
Navicat Premium是mysql數(shù)據(jù)庫的可視化管理工具,那么怎樣使用這個(gè)工具導(dǎo)出導(dǎo)入mysql數(shù)據(jù)庫呢?
- 連接要導(dǎo)入的數(shù)據(jù)庫,在里面新建一個(gè)名字與導(dǎo)出的數(shù)據(jù)庫名字一致的新的、空的數(shù)據(jù)庫 注意字符集編碼最好選擇utf-8 排序規(guī)則選擇utf8_general_ci
- 打開這個(gè)新建的空數(shù)據(jù)庫,右鍵選擇運(yùn)行sql文件 選擇我們要導(dǎo)入的sql文件 開始導(dǎo)入
- 最后導(dǎo)入完成
Java連接MySQL數(shù)據(jù)庫連接不上
問題描述
原本的MySQL是5.0版本的 現(xiàn)在MySQL升級8.0后連接不上數(shù)據(jù)庫
原因分析
根據(jù)現(xiàn)象分析 應(yīng)該是數(shù)據(jù)庫驅(qū)動不匹配的關(guān)系
解決
- 修改數(shù)據(jù)庫配置文件
jdbc.type=mysql
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/foctool_yext?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=Cqkdczy0922
注意:
MySQL 8.0 中驅(qū)動包由 “com.mysql.jdbc.Driver” 改為 “com.mysql.cj.jdbc.Driver”
要顯式地禁用 SSL,useSSL=false
添加時(shí)區(qū) serverTimezone(MySQL jdbc 6.0 版本以上必須添加時(shí)區(qū)參數(shù)),UTC 為全球標(biāo)準(zhǔn)時(shí)間,北京時(shí)區(qū)的話,設(shè)置serverTimezone=Asiz/Shanghai
- 修改 pom 配置
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>8.0.12version>
dependency>