Mysql 5.7 免安裝版windows安裝完整教程

叫我小锅锅發表於2024-07-07

目錄

1. 配置mysql環境變數

2.修改my.ini檔案

1) 設定base和data目錄

3.安裝mysql服務

4. 初始化資料庫

5. 啟動mysql服務,訪問mysql資料庫

6. 如果忘記密碼了怎麼辦?

1) 修改my.ini檔案

2)在powershell裡重啟mysql服務

3)重啟完畢後,就不需要密碼就能進入到資料庫。 選擇資料庫mysql,然後修改密碼,命令如下:

4) 將my.ini檔案裡的 skip-grant-tables 註釋掉,然後重啟mysql,重新訪問mysql,輸入密碼就能訪問mysql資料庫啦!

7. 解決應用無法連線問題

mysql免安裝版官網下載地址:

MySQL :: Download MySQL Community Server

1. 配置mysql環境變數
新建mysql系統環境變數,值選擇mysql的根目錄

在path變數裡新增:

%MYSQL_HOME%\bin

2.修改my.ini檔案
1) 設定base和data目錄


my.ini 檔案內容:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
#default-character-set=utf8
#預設字符集
basedir= D:\\Program Files\\mysql-5.7.37-winx64
datadir= D:\\Program Files\\mysql-5.7.37-winx64\\data
#服務端字符集預設使用Utf-8
character-set-server=utf8
#埠號
port= 3306
# server_id = .....


# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION


[client]
default-character-set=utf8
3.安裝mysql服務
開啟power shell命令視窗,執行命令:

mysqld --install
安裝成功後,會提示service安裝成功!

如果安裝失敗,並提示缺失dll庫,可嘗試安裝msvcp120.dll庫和msvcr120.dll庫:

Download Msvcp120.dll for Windows 10, 8.1, 8, 7, Vista and XP - 32 Bit and 64 Bit

Download Msvcr120.dll for Windows 10, 8.1, 8, 7, Vista and XP - 32 Bit and 64 Bit

並將下載好的dll庫放到指定目錄下: C:\Windows\System32

然後重新開啟命令視窗,用管理員身份執行即可解決!

4. 初始化資料庫
免安裝版中不會自動建立資料庫,因此我們需要手動建立:

mysqld --initialize-insecure --user=mysql;
初始化的資料庫會存放在my.ini配置檔案裡指定的data目錄裡。

如果初始化失敗,首先檢查my.ini配置是否正確,然後刪除掉data目錄裡的所有內容,然後重新執行初始化命令 mysqld --initialize-insecure --user=mysql;

5. 啟動mysql服務,訪問mysql資料庫
net start mysql

mysql -u root -p

然後輸入密碼即可!

6. 如果忘記密碼了怎麼辦?
1) 修改my.ini檔案


將程式碼 skip-grant-tables 放開。

2)在powershell裡重啟mysql服務
net stop mysql

net start mysql

3)重啟完畢後,就不需要密碼就能進入到資料庫。 選擇資料庫mysql,然後修改密碼,命令如下:
use mysql;

update user set authentication_string=password("123456") where user="root";

更新完密碼後,仍然需要重新mysql服務才可生效, 重新在cmd視窗執行如下命令:

net stop mysql

net start mysql

7. 解決應用無法連線問題
新裝好的mysql server一般會出現不讓連線的情況,需要在mysql資料庫裡的user表裡新增一個host為"%"的記錄。

插入sql指令碼;

INSERT INTO `mysql`.`user`(`Host`, `User`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Reload_priv`, `Shutdown_priv`, `Process_priv`, `File_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Show_db_priv`, `Super_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Execute_priv`, `Repl_slave_priv`, `Repl_client_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Create_user_priv`, `Event_priv`, `Trigger_priv`, `Create_tablespace_priv`, `ssl_type`, `ssl_cipher`, `x509_issuer`, `x509_subject`, `max_questions`, `max_updates`, `max_connections`, `max_user_connections`, `plugin`, `authentication_string`, `password_expired`, `password_last_changed`, `password_lifetime`, `account_locked`) VALUES ('%', 'root', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, 'mysql_native_password', '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B', 'N', '2022-03-14 09:05:13', NULL, 'N');
或者使用更新指令碼, 將root使用者的host設定為% , host="%"即可。

use mysql;

update user set host='%' where user='root'l;

相關文章