MySQL安裝與基本配置
@
目錄
資料庫的安裝與配置windows
將服務端和客戶端一併下載到本地
服務端和客戶端都在本地啟動,後期到了公司服務端會有專門的伺服器,所有人基於網路連接服務端操作
找到mysql安裝位置: 如下圖
解壓完成後,在bin目錄下
服務端 mysqld.exe
客戶端 mysql.exe
注意:
前期在配置MySQL時,cmd終端以管理員身份運行
Win+R 輸入cmd,進入的是普通用戶終端,有一些命令是無法執行的
前期啟動服務端:
- cmd,管理員身份切換到mysqld所在的bin目錄下,然後終端輸入mysqld,回車
- 保留cmd窗口重新打開一個cmd作為客戶端,然後切換到bin目錄下,輸入mysql -h 127.0.0.1 -P 3306 -uroot -p
- 剛開始是沒有密碼的,直接回車就可
"""常用軟體默認埠號"""
Mysql 3306
redis 6379
mongodb 27017
django 8000
flask 5000
"""
MySQL第一次以管理員身份運行是沒有密碼的,直接回車即可
"""
SQL語句初始
- Mysql中 的sql語句是以分號作為結束的標誌
- 基本命令:
"""查看所有的資料庫庫名"""
show databases;
"""客戶端連接服務端命令""":
mysql -h 127.0.0.1 -P 3306 -uroot -p
可以簡寫成 mysql -uroot -p
"""當輸入的命令不對,又不想讓伺服器執行並返回報錯資訊,可以用 \c 取消"""
"""客戶端退出""":
退出命令加不加分號都可以
quit
exit
"""
當在連接服務端的時候,
發現只輸入mysql的時候也能連接 ,
但是不是管理員身份,
只是一個遊客模式
"""
環境變數配置及系統服務製作
知識補充
1.查看當前具體進程
tasklist
tasklist |findstr mysqld
2.殺死具體進程 (在管理員cmd窗口才可以)
taskkill /F /PID PID號
環境變數配置
- 每次啟動mysqld需要先切到對應的文件路徑下才可以,這樣就太繁瑣,可以把
bin 目錄
添加到系統變數Path
下。那麼再次啟動MySQL
服務端的時候就不需要去換到對應的路徑下,直接輸入mysqld
,就啟動了,再啟動一個cmd
客戶端,輸入mysql -uroot -p
,來連接服務端
- 但是經過上面的設置,每次都需要啟用兩個
cmd
窗口,我們可以將mysql服務端製作成系統服務(開機自動啟用)
"""查看當前電腦的運行進程數 """
services.msc
"""將musqld製作為系統服務"""
mysqld --install
"""將mysqld移除系統服務"""
mysqld --remove
我這個是已經安裝過了,
安裝完成後,查看任務管理器,點擊服務選項,找到Mysql
系統服務好之後,想要連接服務端,首先不需要切路徑,也不需要在cmd裡面手動輸入mysqld
去啟動了,只需要輸入mysql -uroot -p
,直接回車
設置密碼
"""密碼設置"""
mysqladmin -uroot -p原密碼 password 新密碼
直接在終端輸入就可以
"""測試"""
mysqladmin -uroot -p123 password 132456
忘記密碼重置密碼
"""可以將mysql獲取用戶名和密碼校驗功能看成是一個裝飾器,
裝飾在了客戶端請求訪問的功能上"""
#1.關閉當前mysql服務端
命令行方式啟動(讓mysql跳過用戶名密碼驗證功能)
mysqld --skip-grant-tables
#2.直接以無密碼的方式連接
重新打開一個cmd終端,輸入
mysql -uroot -p 直接回車
#3.修改當前用戶的密碼
修改的是安裝目錄 """D:\mysql\mysql-5.6.48-winx64\data\mysql\user.frm"""
update mysql.user set password=password(123456) where user='root' and host='localhost';
"""
真正存儲用戶表的密碼欄位 存儲的是密文
只有用戶知道明文是什麼,其他人不知道,這樣更加安全
密碼比對也只能比對密文
"""
#4. 立刻將修改數據刷到硬碟
flush privileges;
#5.關閉當前服務端,然後以正常校驗授權表的形式啟動
mysql -uroot -p 回車,輸入新密碼
- 上面重置密碼第三步修改當前用戶的密碼修改的就是
user.frm表
統一編碼
進入myqsl
,輸入\s
查看資料庫的字元編碼
mysql默認配置文件
my-default.ini
ini結尾的一般都是配置文件
"""程式啟動會先載入配置文件中的配置後才真正的啟動"""
[mysqld] #一旦伺服器啟動立刻載入下面的配置
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]#其他客戶端
my-default.ini不能更改,需要自己創建一個my.ini的配置文件
驗證配置是否自動載入
"""測試模擬""
[mysql]
print('hello world')
#修改配置文件後一定要重啟服務才生效
統一編碼的配置
在新創建的my.ini配置文件中重新寫入
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
"""#修改配置文件後一定要重啟服務才生效"""
不想輸入賬戶和密碼,可以將管理員的用戶名和密碼添加到配置文件中
#這樣不用每次都輸入帳號密碼了
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
user="root"
password="123456"
default-character-set=utf8
配置好後\s
再次查看字元編碼
- 配置完成後,
cmd
直接輸入mysql
,不再需要輸入賬戶密碼,就可以直接以管理員身份運行。方便快捷!!!
資料庫安裝與配置Linux下
-
MySQL服務端(在linux系統)
- 下載安裝
- sudo apt-get install mysql-server
- 啟動服務
- sudo service mysql start
- 查看服務是否啟動
- ps ajxlgrep mysql
- sudo service mysql status
- 停止服務
- sudo service mysql stop
- 重啟服務
- sudo service mysql restart
- 下載安裝
-
配置
- 配置問加你目錄為 /etc/mysql/mysql.conf.d
- 進入目錄,打開mysqld.cnf,可以看到配置項
- bind-address 表示伺服器綁定的ip,默認為127.0.0.1
- port表示埠,默認是3306
- datadir表示資料庫目錄,默認為/var/lib/mysql
- general/ogfile表示普通日誌,默認為/var/log/mysql/mysql.log
- log_error表示錯誤日誌,默認為/var/log/mysql/error.log
#查詢user所對應的host服務 select user,host from user ; #修改密碼 update user set authentication_string="13467205064" where user="root"; #配置允許遠程訪問 update user set host="%" where user="root" and host="localhost" LIMIT 1; flush privileges;#修改完密碼後要重新載入以下
-
MySQL 客戶端
- 客戶端為開發人員使用,常用的命令行客戶端,navicat圖形介面客戶端等
- 下載安裝命令行客戶端
- sudo apt install mysql-client
- 連接資料庫
- mysql -u root -p123456
- -u後面跟的是資料庫的賬戶名,-p密碼, -p與密碼之間不能有空格
- 如果-p後面不加密碼,那麼回車後要求輸入密碼
- mysql -u root -p123456