MySQL安裝與基本配置

@

資料庫的安裝與配置windows

選擇 Mysql 選擇5.6.48版本

將服務端和客戶端一併下載到本地

服務端和客戶端都在本地啟動,後期到了公司服務端會有專門的伺服器,所有人基於網路連接服務端操作
在這裡插入圖片描述找到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
  • 剛開始是沒有密碼的,直接回車就可
    image.png

"""常用軟體默認埠號"""
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查看資料庫的字元編碼
image.png

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再次查看字元編碼

image.png

  • 配置完成後,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後面不加密碼,那麼回車後要求輸入密碼

Tags: