一.Mysql簡介
MySQL是一個開源的關系型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬于 Oracle 旗下公司。MySQL 最流行的關系型資料庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關系資料庫管理系統) 應用軟體之一, 越來越多的企業選擇使用MySQL,而放棄商用收費的Oracle
ps : MySQL有很多版本(5.6、5.7、8.0) 目前企業裡面用的比較多的還是5.6(穩定版本)左右
二.常見資料庫管理軟體預設端口号
- MySQL : 3306 (mysqld服務端-----mysql用戶端)
- redis : 6379
- mongodb : 27017
- django : 8000
- flask : 5000
- sqlserver : 3306
- oracle : 1521
三.Windows安裝
1.首先進入mysql官網下載下傳
- mysql官網 : https://www.mysql.com/
- 選擇安裝版本 : 5.6 左右

2.解壓并添加到環境變量
3.将Mysql添加成系統服務并啟動服務端
- 服務端的配置需要一管理者身份運作cmd
- 将mysqld.exe添加為服務項, 讓其可以背景運作
- 移除Mysql服務
mysqld --remove
3.登入用戶端mysql
- 因為是在一台機器上做實驗, 用戶端我們可以使用非管理者使用者
- 登入的兩種方式
- 指定端口IP和端口登入(mysql預設端口3306) :
mysql -h 127.0.0.1 -P 3306 -uroot -p
- 因為是在同一台機器, 我們可以省略IP和端口 :
mysql -uroot -p
- 指定端口IP和端口登入(mysql預設端口3306) :
4.修改用戶端密碼
- 指令 :
mysqladmin -uroot -p password [你的密碼]
- 上面修改密碼成功後, 我們登入的是後沒有指定密碼, 其實可以直接指定密碼登入
5.配置用戶端配置檔案
- 配置目的1 : 實作字元編碼的統一(不統一會亂碼)
- 配置目的2 : 實作不用輸入密碼和使用者名,直接登入
- 先進入解壓的mysql檔案下找到
字尾的配置檔案, 預設是.ini
my-default.ini
- mysql啟動時就會檢測mysql-5.6.48-winx64檔案夾下的
字尾名的檔案, 并加載該檔案配置.ini
- 編輯内容
- ps : 注釋可以有中文, 但配置不能存在中文
🍓";" 分号是注釋的意思
; 在執行mysqld指令時,下列配置會生效,即mysql服務啟動時生效
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
; 針對用戶端指令的全局配置,如果登陸時[mysql]中沒有指定使用者名,密碼而[client] 中指定了, 以[client] 為準
[client]
default-character-set=utf8
; 隻針對mysql這個用戶端的配置,2中的是全局配置,而此處的則是隻針對mysql這個指令的局部配置,配置使用先自己, 自己沒有再全局
[mysql]
default-character-set=utf8
; 指定你的登入使用者名,下次登入時不需要指定使用者名
user="root"
; 指定登入密碼,下次登入時不需要登入密碼(密碼必須和你之前設定的密碼一樣,不然驗證不通過)
password="123456"
ps : 5.6.38版本 沒有使用者名會報錯 5.6.40版本 沒有使用者名不會報錯
- 儲存後改名
, 或者在之前直接建立一個my.ini
配置檔案my.ini
- 讓mysql資料庫可以存入emoji表情
- 建立
檔案添加配置, 重新開機MySQL, 儲存的表情資料就可以檢視到了my.cnf
; 設定資料庫字元編碼為utf8mb4_general_ci 設定相應表字段字元編碼為utf8mb4_general_ci
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
6.重新開機MySQL服務,再檢視結果
- 重新開機
- 檢視mysql資訊
三.密碼破解
方式一 : 跳過密碼授權機制更改新密碼
- 步驟 :
- 先關閉mysql服務
- 設定跳過授權表:
mysqld --skip-grant-tables
- 新開一個cmd, 正常登入用戶端mysql, 不需要密碼
-
設定新密碼123update mysql.user set password=password('123') where user='root'
- 使用
重新整理權限flush privileges
- 關閉之前打開的視窗重新啟動mysql, 使用新密碼登入
換另一個cmd進行登入并修改密碼
關閉之前視窗, 重新啟動服務
方式二 :
大緻一樣, 在第二步的時候變了一下 : 編輯
my.ini
配置檔案
[mysqld]
skip-grant-tables
; [mysqld]下加入這一行"跳過授權表"
後面的步驟一模一樣, 有沒有發現本質是一樣的, 都是跳過授權表
–end–