[client] default-character-set = utf8 [mysqld] port = 3306 basedir = "D:\mysql-5.7.14-winx64" datadir = "D:\mysql-5.7.14-winx64\data\" tmpdir = "D:\mysql-5.7.14-winx64\data\" socket = "D:\mysql-5.7.14-winx64\data\mysql.sock" log-error = "D:\mysql-5.7.14-winx64\data\mysql_error.log" max_connections = 100 table_open_cache = 256 query_cache_size = 1M tmp_table_size = 32M thread_cache_size = 8 innodb_data_home_dir = "D:\mysql-5.7.14-winx64\data\" innodb_flush_log_at_trx_commit = 1 innodb_log_buffer_size = 128M innodb_buffer_pool_size = 128M innodb_log_file_size = 10M innodb_thread_concurrency = 16 innodb_autoextend_increment = 1000 join_buffer_size = 128M sort_buffer_size = 32M read_rnd_buffer_size = 32M max_allowed_packet = 32M explicit_defaults_for_timestamp = true sql_mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" # skip-grant-tables # 僅密碼重置時暫時開啟
Path 加入 D:\mysql-5.7.14-winx64\binmysqld --install MySQL報錯「MySQL 服務無法啟動」→ 刪除 data 目錄所有內容 → 重新初始化:
mysqld --initialize --explicit_defaults_for_timestamp # 記錄輸出的臨時密碼
my.ini 加 skip-grant-tables,重啟服務mysql -u root 免密登入USE mysql;
UPDATE user SET authentication_string = PASSWORD('root') WHERE user = 'root';
FLUSH PRIVILEGES;
skip-grant-tables,重啟服務SHOW VARIABLES LIKE '%character%'; SHOW VARIABLES LIKE '%collation%';
若非全 utf8,在 my.ini 對應區段補全:
[client] default-character-set = utf8 [mysql] default-character-set = utf8 [mysqld] character-set-server = utf8 collation-server = utf8_general_ci
CREATE DATABASE app_relation CHARACTER SET utf8; USE app_relation; SOURCE app_relation.sql;