mysql的安裝、啟動和基礎配置 —— windows版本
下載
第一步:打開網址,https://www.mysql.com,點擊downloads之后跳轉到https://www.mysql.com/downloads
第二步 :跳轉至網址https://dev.mysql.com/downloads/,選擇Community選項
第三步 :點擊MySQL Community Server進入https://dev.mysql.com/downloads/mysql/頁面,再點擊5.6版本的數據庫
第四步:windows操作系統 點擊5.6版本之后會跳轉到https://dev.mysql.com/downloads/mysql/5.6.html#downloads 網址,頁面如下,確認好要下載的版本和操作系統,點擊Download
第五步:可以不用登陸或者注冊,直接點擊No thanks,just start my download就可以下載了。
解壓
下載的zip文件解壓,將解壓之后的文件夾放到任意目錄下,這個目錄就是mysql的安裝目錄。
配置
打開目錄,會看到my-default.ini配置文件,復制這個配置文件可以重命名為my.ini或者my.cnf
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
#設置3306端口
port = 3306
# 設置mysql的安裝目錄
basedir=C:\Program Files\mysql-5.6.39-winx64
# 設置mysql數據庫的數據的存放目錄
datadir=C:\Program Files\mysql-5.6.39-winx64\data
# 允許最大連接數
max_connections=200
# 服務端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
MYSQL
"""
任何基於網絡通信的應用程序底層用的都是socket
-服務端
-基於socket通信
-收發消息
-SQL語句
-客戶端
-基於socket通信
-收發消息
-SQL語句
"""
MySQL不單單支持MySQL自己的客戶端app還支持其他編程語言來充當客戶端操作
如何解決語言溝通的障礙?
# 1 讓服務端兼容所有的語言(一個人精通多國語言)
#2 采用統一的語言(SQL語句)
"""
庫 》》》 文件夾
表 》》》 文件
記錄 》》》 文件內一、hobby
"""
MySQL服務端與客戶端
"""
服務端
mysqld.exe
客戶端
mysql.exe
"""
注意
"""
在前期配置MySQL的時候 cmd終端盡量以管理員的身份運行
windows+r 輸入cmd 進入的是普通用戶終端 有一些命令是無法執行的
搜索cmd右鍵 以管理員身份運行
"""
啟動
-
先切換到mysqld所在的bin目錄下,然后輸入mysqld即可
-
保留原來的cmd窗口重新打開一個
""" 常見軟件的默認端口號 MySQL 3306 redis 6379 mongodb 27017 django 8000 flask 5000 ... MySQL第一次以管理員身份進入是沒有密碼的 直接回車即可 客戶端連接服務端完整命令 mysql -h 127.0.0.1 -P 3306 -uroot -p """
sql語句初識
"""
1 MySQL中的sql語句是以分號作為結束的標志
2 基本命令
show databases; 查看所有的庫名
3 連接服務端的命令可以簡寫
mysql -uroot -p
4 當你輸入的命令不對 又不想讓服務端執行並返回報錯信息 可以用\c取消
錯誤命令 \c
5 客戶端退出 退出命令加不加分號都可以執行
quit
exit
6 當你在連接服務端的時候 發現只輸入mysql也能連接
但是你不是管理員身份 而只是一個游客模式
"""
環境變量配置及系統服務制作
小知識點補充
"""
1 如何查看當前具體進程
tasklist
tasklist |findstr mysqld
2 如何殺死具體進程(只有在管理員cmd窗口下才能成功)
taskkill /F /PID PID號
"""
環境變量
在系統變量PATH后面添加: 你的mysql bin文件夾的路徑(如C:\Program Files\mysql-5.6.41-winx64\bin)
還是繁瑣 需要起兩個cmd窗口 不好
將mysql服務端制作成系統服務(開機自啟動)
"""
查看當前計算機的運行進程數
services.msc
將mysql制作成系統服務
mysqld --install
移除mysql系統服務
mysqld --remove
"""
設置密碼
"""
mysqladmin -uroot -p原密碼 password 新密碼
改命令直接在終端輸入即可 無序進入客戶端
mysqladmin -uroot -p123 password 123456
"""
破解密碼
出去玩了好幾個月,回來返現密碼忘了,死活進不去
"""
你可以將mysql獲取用戶名和密碼校驗的功能看成是一個裝飾器
裝飾在了客戶端請求訪問的功能上
我們如果將該裝飾器移除 那么mysql服務端就不會校驗用戶名和密碼了
"""
# 1 先關閉當前mysql服務端
命令行的方式啟動(讓mysql跳過用戶名密碼驗證功能)
mysqld --skip-grant-tables
# 2 直接以無密碼的方式連接
mysql -uroot -p 直接回車
# 3 修改當前用戶的密碼
update mysql.user set password=password(123456) where user='root' and host='localhost';
"""
真正存儲用戶表的密碼字段 存儲的肯定是密文
只有用戶自己知道明文是什么 其他人都不知道 這樣更加的安全
密碼比對也只能比對密文
"""
# 4 立刻將修改數據刷到硬盤
flush privileges;
# 5 關閉當前服務端 然后以正常校驗授權表的形式啟動
統一編碼
-
mysql默認的配置文件
""" my-default.ini ini結尾的一般都是配置文件 程序啟動會先加載配置文件中的配置之后才真正的啟動 """ [mysqld] # 一旦服務端啟動立刻加載下面的配置 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] # 一旦客戶端啟動立刻加載下面的配置 ... [client] # 其他客戶端 ... # 需要你自己新建一個my.ini的配置文件 # 驗證配置是否真的是自動加載 [mysql] print('hello world') # 修改配置文件后一定要重啟服務才能生效 # 統一編碼的配置 無需掌握 直接拷貝即可 # 偷懶 將管理員的用戶名和密碼也添加到配置文件中 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] user="root" password=123456 default-character-set=utf8