前言
MYSQl安裝的兩種傳統方式:
第一種:msi格式的安裝程序
第二種:免安裝MySQL程序包(本文重點介紹這種方式)
源文件包下載
目錄規劃
其中data、log目錄需要手動創建
目錄名稱 | 參數名稱 | 路徑地址 |
---|---|---|
安裝目錄 | basedir | D:\enviroment\mysql-5.7.25-winx64 |
數據文件目錄 | datadir | D:\enviroment\mysql-5.7.25-winx64\data |
臨時文件目錄 | tmpdir | D:\enviroment\mysql-5.7.25-winx64\data |
socket文件目錄 | socket | D:\enviroment\mysql-5.7.25-winx64\data\mysql.sock |
bin日誌文件目錄 | log_bin | D:\enviroment\mysql-5.7.25-winx64\log\mysql-bin.log |
relay日誌文件目錄 | relay_log | D:\enviroment\mysql-5.7.25-winx64\log\mysql-relay.log |
- 最終目錄結構,如下圖:
建立配置文件
- windows 版本的MySQL 默認首先讀取C盤跟目錄下的my.ini文件,然後是my.cnf,最後會在%WINDIR%的目錄
- 當然我們可以在啓動時手動指定,我們這裏建立c:\my.ini
[mysql]
user =
password =
[mysqld]
#-----------------MySQL Basic Setting-----------------#
server-id = 1723161113
port = 3306
user = mysql
pid-file = mysql.pid
character_set_server = utf8mb4
default_storage_engine = InnoDB
skip_name_resolve = 1
lower_case_table_names = 1
explicit_defaults_for_timestamp = 1
open_files_limit = 65535
max_connections = 1000
max_connect_errors = 100000
basedir = D:\\enviroment\\mysql-5.7.25-winx64
datadir = D:\\enviroment\\mysql-5.7.25-winx64\\data
tmpdir = D:\\enviroment\\mysql-5.7.25-winx64\\data
socket = D:\\enviroment\\mysql-5.7.25-winx64\\data\\mysql.sock
query_cache_type = 1
query_cache_size = 32M
join_buffer_size = 64M
tmp_table_size = 64M
max_allowed_packet = 32M
read_buffer_size = 16M
read_rnd_buffer_size = 32M
sort_buffer_size = 32M
#-----------------MySQL Log Setting-----------------#
log_error = mysql-error.log
log_bin = D:\\enviroment\\mysql-5.7.25-winx64\\log\\mysql-bin.log
slow_query_log_file = mysql-slow.log
relay_log = D:\\enviroment\\mysql-5.7.25-winx64\\log\\mysql-relay.log
log_slave_updates = 1
sync_binlog = 1
relay_log_recovery = 1
binlog_format = row
expire_logs_days = 14
slow_query_log = 1
long_query_time = 2
log_queries_not_using_indexes = 1
log_throttle_queries_not_using_indexes = 10
log_slow_admin_statements = 1
log_slow_slave_statements = 1
min_examined_row_limit = 1000
#-----------------MySQL Replication Setting-----------------#
slave_skip_errors = ddl_exist_errors
master_info_repository = TABLE
relay_log_info_repository = TABLE
gtid_mode = on
enforce_gtid_consistency = 1
binlog_rows_query_log_events = 1
#-----------------MySQL InnoDB Setting-----------------#
innodb_page_size = 16384
innodb_buffer_pool_size = 1024M
innodb_data_file_path = ibdata1:1G:autoextend
innodb_buffer_pool_instances = 8
innodb_file_per_table = 1
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_at_shutdown = 1
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 5
innodb_io_capacity = 800
innodb_io_capacity_max = 2000
#innodb_flush_method = O_DIRECT
#innodb_file_format_check = 1
innodb_file_format = Barracuda
innodb_file_format_max = Barracuda
innodb_undo_logs = 128
innodb_undo_tablespaces = 3
innodb_flush_neighbors = 1
innodb_log_file_size = 2G
innodb_log_buffer_size = 16777216
innodb_print_all_deadlocks = 1
innodb_strict_mode = 1
innodb_sort_buffer_size = 67108864
#skip-grant-tables=1
#-----------------MySQL semi Replication Setting-----------------#
#plugin_dir = /usr/local/mysql/lib/plugin
#plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
#loose_rpl_semi_sync_master_enabled = 1
#loose_rpl_semi_sync_slave_enabled = 1
#loose_rpl_semi_sync_master_timeout = 5000
- 注意 這裏我是將linux平臺的參數拷過來的,可保證正常初始化
- 需要將innodb_flush_method 參數註釋掉,因爲不支持O_DIRECT方法。
- 路徑需要用兩個反斜槓
初始化數據庫
- 接下來我們初始化MySQL,使用 管理員權限 打開powershell (cmd亦可)
方式一:
e:\mysql\bin\mysqld --initialize --console
方式二:
1、執行數據庫初始化狀態
mysqld --initialize-insecure --user=mysql
2、初始化完成,執行數據庫的服務註冊安裝
mysqld --install MYSQL --user=mysql
- 初始化完成後會自動生成密碼,請記住他
- 初始化完成後data 及 log目錄會有相應的文件
添加MySQL至服務
mysqld --install
- 這時我們就可以使用windows 服務啓停數據庫了
- 將MySQL bin目錄添加至PATH環境變量
- 修改後記得重新打開命令窗口
連接數據庫
第一步: 開啓 --skip-grant-tables
mysqld --skip-grant-tables
第二步:進入mysql
mysql
show databases;
use mysql;
mysql>update user set password = password('要更改的密碼') where user='root';
mysql> flush privileges;
mysql> quit;
啓停數據庫
- 檢測是否安裝成功
c:\Users\System32\net start mysql
c:\Users\System32\net stop mysql
參考資源:
http://blog.itpub.net/28413242/viewspace-2650128/
https://blog.csdn.net/weixin_30443731/article/details/99822613
學習Java的同學注意了!!!
學習過程中遇到什麼問題或者想獲取學習資源的話,歡迎加入Java學習交流羣,羣號碼:543120397 我們一起學Java!