windows下安裝 mysql-8.0.16-winx64 含官網參考手冊

官網下載

https://dev.mysql.com/downloads/mysql/

創建配置文件my.ini

my.ini是mysql重要的配置文件,許多需要的配置都可以在這個文件中配置,默認如果沒有該文件,則應該自己新建並且放置於解壓後的主目錄中如:
在這裏插入圖片描述

配置my.ini

此處我設置數據庫位置爲指定位置,並且參照mysql手冊中,目錄中需要用斜杆或者\雙斜槓,具體見下my.ini注意(其中有指定默認選項文件的方法),默認是utf8對於有微信表情有需要的則對應改爲utf8mb4

[mysqld]
# 設置3306端口
port=3306
# 設置mysql的安裝目錄
basedir=E:/software/Mysql/mysql-8.0.16-winx64
# 設置mysql數據庫的數據的存放目錄
datadir=E:/software/Mysql/data
# 允許最大連接數
max_connections=200
# 允許連接失敗的次數。這是爲了防止有人從該主機試圖攻擊數據庫系統
max_connect_errors=10
# 服務端使用的字符集默認爲utf8mb4
character-set-server=utf8mb4
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
# 默認使用“mysql_native_password”插件認證
default_authentication_plugin=mysql_native_password
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8mb4
[client]
# 設置mysql客戶端連接服務端時默認使用的端口
port=3306
default-character-set=utf8mb4

初始化mysql

進入到解壓後的mysql主目錄下的bin目錄,使用cmd運行命令(最好使用管理員權限運行)–console參數打印出具體的內容

mysqld --initialize --console

記錄出現的隨機密碼:
在這裏插入圖片描述

安裝mysql服務

安裝服務,方便每次啓動系統自動啓動mysql服務,如果運行如下代碼,並且顯示
Service successfully installed.則安裝成功,重複操作會提示已經安裝,如果已經安裝,並且需要重新配置啓動服務參數,則可以使用mysqld --remove mysql(安裝的服務名)刪除服務並且重新執行install

mysqld install

啓動服務

net start mysql
#關閉服務
net stop mysql

登陸服務

使用命令登陸(必須先啓動服務),輸入以下代碼後輸入記錄的隨機密碼,正常即可進入mysql

mysql -uroot -p
#輸入密碼後回車

修改密碼

知道root密碼修改密碼

登陸mysql後執行sql語句:,提示

alter user root@localhost identified by '新密碼';

如下提示,則成功修改。下次登陸時使用新密碼登陸。
在這裏插入圖片描述

忘記root密碼修改密碼(確保能在安裝mysql的機器上操作)

在服務啓動時運行指定初始化文件

  1. 關閉服務 net stop mysql
  2. 編寫初始化文件(原理:啓動時運行初始化文件sql。執行修改密碼操作)如:a.txt,內容:
alter user root@localhost identified by '新密碼';
  1. 啓動時指定文件(斜杆規則同之前)
mysqld --init-file=d:/a.txt --console


出現如此,則已經修改成功。博主親測mysql8可用.

使用代碼 mysqld --skip-grant-tables參數

此方法啓動時不同以前的版本可用 mysqld-nl。mysql8中沒有此文件

  1. 關閉服務
net stop mysql
  1. 跳過權限驗證開啓mysql
mysqld --console --skip-grant-tables --shared-memory
  1. 此時,開啓另外一個cmd並且進入解壓目錄,使用空密碼登陸。
  2. 登陸後將密碼置空(好像這裏用存的是加密的密碼,所以只能置空不然登陸不進去,親測)。
UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';
  1. 登陸後修改密碼。

–skip-grant-tables官方解釋:
此選項使服務器在不使用權限系統的情況下啓動,這使得任何對服務器具有訪問權限的人都可以無限制地訪問所有數據庫。通過從系統shell 執行mysqladmin flush-privileges或mysqladmin reload命令,或者FLUSH PRIVILEGES 在連接到服務器後發出MySQL 語句,可以使正在運行的服務器再次開始使用授權表。

如果使用–skip-grant-tables禁用身份驗證檢查的選項啓動服務器 ,則服務器會–skip-networking自動啓用 以防止遠程連接。

此選項還會導致服務器在其啓動過程中禁止加載隨INSTALL PLUGIN語句一起安裝的用戶定義函數(UDF),計劃事件和插件 。要使插件無論如何都要加載,請使用該 --plugin-load選項。 --skip-grant-tables也會導致disabled_storage_engines 系統變量無效。

此選項不會導致在服務器啓動期間禁止加載服務器組件。

FLUSH PRIVILEGES可能由啓動後執行的其他操作隱式執行(從而導致服務器再次開始使用授權表)。例如,mysql_upgrade在升級過程中刷新權限。
在正常啓動時,服務器通過讀取mysql.plugins系統表來確定要加載哪些插件。如果使用該–skip-grant-tables選項啓動服務器 ,則不會查詢該mysql.plugins表,也不會加載其中列出的插件。 --plugin-load即使–skip-grant-tables給出插件也可以加載插件 。 --plugin-load還可以在啓動時加載無法在運行時加載的插件。

備註:mysql官網列出的常用的命令(mysql服務器命令選項

my.ini注意(官網手冊):

可以使用任何文本編輯器(如記事本)創建和修改選項文件。例如,如果安裝了MySQL E:\mysql並且數據目錄位於 E:\mydata\data,則可以創建一個包含一個[mysqld]部分的選項文件,以指定basedir和 datadir選項的值:

[mysqld]
# set basedir to your installation path
basedir=E:/mysql
# set datadir to the location of your data directory
datadir=E:/mydata/data

使用(轉發)斜槓而不是反斜槓在選項文件中指定Microsoft Windows路徑名。如果你使用反斜槓,請將它們加倍:

[mysqld]
# set basedir to your installation path
basedir=E:\\mysql
# set datadir to the location of your data directory
datadir=E:\\mydata\\data

第4.2.2.2節“使用選項文件” 中給出了在選項文件值中使用反斜槓的規則。

mysqld常用重要的命令

4.2.2.3影響選項文件處理的命令行選項
大多數支持選項文件的MySQL程序都處理以下選項。由於這些選項會影響選項文件處理,因此必須在命令行中提供它們,而不是在選項文件中。要正常工作,必須在其他選項之前給出每個選項,但有以下例外:

  • –print-defaults可以後立即使用 --defaults-file, --defaults-extra-file或 --login-path。
  • 在Windows上,如果使用–defaults-file和 --install選項啓動服務器 ,則 --install必須先行。請參見 第2.3.5.8節“將MySQL作爲Windows服務啓動”

將文件名指定爲選項值時,請避免使用~shell元字符,因爲它可能不會按預期解釋。

  • –defaults-extra-file=file_name
    在全局選項文件之後讀取此選項文件,但在(在Unix上)用戶選項文件之前和(在所有平臺上)登錄路徑文件之前。(有關使用選項文件的順序的信息,請參見 第4.2.2.2節“使用選項文件”。)如果文件不存在或無法訪問,則會發生錯誤。 file_name如果作爲相對路徑名而不是完整路徑名給出,則相對於當前目錄進行解釋。
  • –defaults-file=file_name
    只讀給定的選項文件。如果文件不存在或無法訪問,則會發生錯誤。 file_name如果作爲相對路徑名而不是完整路徑名給出,則相對於當前目錄進行解釋。
    例外:即使有 --defaults-file, mysqld也讀取 mysqld-auto.cnf和客戶端程序讀取.mylogin.cnf
  • –defaults-group-suffix=str
    不僅要讀取常用選項組,還要讀取通常名稱和後綴的組 str。例如, mysql客戶端通常讀取 [client]和[mysql] 組。如果–defaults-group-suffix=_other 給出了 選項,mysql也會讀取 [client_other]和 [mysql_other]組。
  • –login-path=name
    從.mylogin.cnf登錄路徑文件中的指定登錄路徑中讀取選項 。阿 “ 登錄路徑 ”是含有指定要連接到哪個MySQL服務器和選項哪個帳戶作爲認證選項組。要創建或修改登錄路徑文件,請使用 mysql_config_editor實用程序。請參見 第4.6.7節“ mysql_config_editor - MySQL配置實用程序”
    除了程序默認讀取的選項組之外,客戶端程序還會讀取與指定登錄路徑對應的選項組。考慮這個命令:
mysql --login-path=mypath

默認情況下,mysql客戶端讀取 [client]和[mysql] 選項組。因此,對於所示的命令, MySQL的讀取[client] 和[mysql]其他選項的文件,並 [client],[mysql]以及 [mypath]從登錄路徑文件。
即使使用該–no-defaults選項,客戶端程序也會讀取登錄路徑文件 。
要指定備用登錄路徑文件名,請設置 MYSQL_TEST_LOGIN_FILE環境變量。

  • –no-defaults
    不要讀任何選項文件。如果程序啓動由於從選項文件中讀取未知選項而失敗, --no-defaults則可用於防止它們被讀取。
    例外情況是客戶端程序讀取 .mylogin.cnf登錄路徑文件(如果存在),即使–no-defaults使用它 也是如此。這允許以比命令行更安全的方式指定密碼,即使存在 --no-defaults也是如此。(.mylogin.cnf由mysql_config_editor實用程序創建 。請參見 第4.6.7節“ mysql_config_editor - MySQL配置實用程序”。)
  • –print-defaults
    打印程序名稱以及從選項文件中獲取的所有選項。密碼值被屏蔽。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章