因爲windows設備上長期使用老版本5.五、以及mariadb分支版本。基本不多使用5.7,以致於偶爾安裝5.7測試時遇到一些麻煩耗費很長時間。在此記錄下載,方便往後查看。html
當前最新版本 5.7.20 社區版mysql
https://dev.mysql.com/downloads/mysql/sql
下載壓縮版本:數據庫
ZIP Archive (mysql-5.7.20-win32.zip)windows
https://dev.mysql.com/downloads/file/?id=473308bash
自MySQL 5.7.18版本開始,將再也不附帶配置文件 my-default.ini,因此複製配置文件將無從作起。session
摘於:https://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.htmlsocket
自此,進行手寫配置文件。工具
[client] port=3306 socket=/tmp/mysql.sock [mysqld] port=3306 socket=/tmp/mysql.sock key_buffer_size=16M max_allowed_packet=8M [mysqldump] quick
摘於:https://dev.mysql.com/doc/refman/5.7/en/option-files.html測試
增長base及data目錄:
[client] port=3306 socket=/tmp/mysql.sock [mysqld] port=3306 socket=/tmp/mysql.sock key_buffer_size=16M max_allowed_packet=8M basedir="D:/tools/MySQL/mysql5.7.20" datadir="D:/tools/MySQL/mysql5.7.20/data" [mysqldump] quick
關於其餘的配置後續能夠參考官方文檔進行添加。
參見:https://dev.mysql.com/doc/refman/5.7/en/server-options.html
其餘博主詳解:https://www.cnblogs.com/zhoujinyi/p/5614135.html
進入mysql.exe所在目錄下,如:
使用管理員權限運行 CMD
>d: >cd "D:/tools/MySQL/mysql5.7.20/bin" # 如下命令二選一。 # 其一,初始化數據庫目錄,生成隨機MySQL密碼至日誌文件中。 # 其二,初始化數據庫目錄,生成(空)密碼。 >mysqld --initialize >mysqld --initialize-insecure
執行以後到
./data/DESKTOP-****.err 文件中尋找password關鍵詞進行查找。
使用命令行登陸數據庫。
>mysql -uroot -p -P3306 Enter password:# 輸入生成的隨機密碼 mysql> use mysql; mysql> desc user; +------------------------+-----------------------------------+------+-----+-----------------------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------------+-----------------------------------+------+-----+-----------------------+-------+ | Host | char(60) | NO | PRI | | | | User | char(32) | NO | PRI | | | | Select_priv | enum('N','Y') | NO | | N | | ...... | | authentication_string | text | YES | | NULL | | | password_expired | enum('N','Y') | NO | | N | | | password_last_changed | timestamp | YES | | NULL | | | password_lifetime | smallint(5) unsigned | YES | | NULL | | | account_locked | enum('N','Y') | NO | | N | | +------------------------+-----------------------------------+------+-----+-----------------------+-------+ 45 rows in set (0.00 sec) # 5.7已經取消了Password字段,取而代之的是authentication_string,並且已經"不推薦"修改表來完成實現修改用戶密碼。 mysql> update mysql.user set authentication_string=password('root') where user='root'; Query OK, 0 rows affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 0 Warnings: 1 mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) # 官方推薦使用 ALTER 方法進行修改,具體使用以下。 # 該方法不須要刷新權限表(flush privileges)便可生效。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; Query OK, 0 rows affected (0.00 sec) #這次雖然提示0條影響,但實則已經修改。 mysql> select host,user,authentication_string,password_last_changed from user; +-----------+---------------+-------------------------------------------+-----------------------+ | host | user | authentication_string | password_last_changed | +-----------+---------------+-------------------------------------------+-----------------------+ | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 2018-01-06 21:56:39 | | localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | 2018-01-06 21:07:45 | | localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | 2018-01-06 21:07:45 | +-----------+---------------+-------------------------------------------+-----------------------+ 3 rows in set (0.00 sec)
使用管理員模式運行CMD 進入 ./bin 目錄
安裝MySQL服務
# mysqld --install [服務名] # mysqld --install-manual [服務名] 安裝服務不自啓 >mysqld --install MySQL57 Service successfully installed.
卸載MySQL服務
# mysqld --remove [服務名] 存在多個版本是須要具體服務名,容易卸載錯誤。 >mysqld --remove MySQL57 Service successfully removed. # 或者使用windows內置管理方式刪除服務 >sc delete MySQL57 [SC] DeleteService SUCCESS
啓動/中止 MSYQL
# 啓動 net start MySQL57 #中止 net stop MySQL57
啓動時出現錯誤
MySQL57 服務正在啓動 . MySQL57 服務沒法啓動。 服務沒有報告任何錯誤。 請鍵入 NET HELPMSG 3534 以得到更多的幫助。
詳情查看方式:
計算機管理>系統工具>時間查看器>Windows 日誌>應用程序> "具體的錯誤條目"
完)