首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

解決 MySQL 1067 錯誤與中文亂碼問題(免安裝版配置實戰)

     編輯:MySQL 資料庫相關知識

MySQL 免安裝版(綠色版)部署時常遇到 1067 進程意外終止 與 **中文亂碼** 雙重難題。本文提供經實測可用的 my.ini 完整配置模板、服務註冊、權限初始化全流程,親測可解決上述問題。

環境變數設定(前置)

  • MYSQL_HOME = 解壓路徑(例:E:\MYSQL\mysql-5.6.23-winx64)
  • Path 追加 ;%MYSQL_HOME%\bin

核心配置:my-default.ini → my.ini

將解壓目錄下的 my-default.ini 複製並重命名為 my.ini,內容**完全替換**為下列配置(路徑請自行對應修改):

[mysqld]
#skip-grant-tables  # 忘記密碼時暫時開啟,平時務必關閉
port=3306

# 關鍵:避免 1067 錯誤,請勿使用 default-character-set=utf8
character-set-server=utf8
init_connect='SET NAMES utf8'
# 執行 show variables like 'char%'; 可驗證編碼

default-storage-engine=INNODB  # 某些版本必須指定,否則 1067

basedir=E:\MYSQL\mysql-5.6.23-winx64
datadir=E:\MYSQL\mysql-5.6.23-winx64\data

[client]
default-character-set=utf8
port=3306

[mysql]
default-character-set=utf8
port=3306

配置關鍵點解析

參數作用避坑說明
character-set-server=utf8伺服端預設字元集**不可**寫 default-character-set=utf8 在 [mysqld] 區塊,會直接導致 1067
init_connect='SET NAMES utf8'連線自動設定字元集確保客戶端連線即以 UTF-8 通訊
default-storage-engine=INNODB預設儲存引擎部分版本預設 MyISAM 會導致 1067,強制指定 InnoDB
basedir/datadir安裝與資料目錄**必須使用絕對路徑**,且 datadir 目錄需存在且可寫入

以管理員身分註冊並啟動服務

  1. CMD 右鍵 → 「以管理員身分執行」
  2. 切換至 bin 目錄:
cd /d E:\MYSQL\mysql-5.6.23-winx64\bin
mysqld --install MySQL --defaults-file="E:\MYSQL\mysql-5.6.23-winx64\my-default.ini"
net start mysql

初始化 root 密碼與清理匿名帳號

  1. mysql -u root -p(預設密碼空,直接 Enter)
  2. 使用 Navicat 或命令列進入 mysql 資料庫:
USE mysql;
SELECT Host, User, Password FROM user;
-- 刪除匿名帳號(Host='localhost', User='')
DELETE FROM user WHERE User='';
-- 設定 root 密碼
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('111');
UPDATE user SET Password=PASSWORD('111') WHERE User='root';
FLUSH PRIVILEGES;

登入驗證

mysql -u root -p111   # 注意:-p 後**直接接密碼無空格**
# 錯誤寫法:mysql -u root -p 111  (會把 111 當資料庫名)

若配置修改後仍報 1067

  1. 停止服務:net stop mysql
  2. 刪除 datadir 下所有**非目錄檔案**(ibdata1, ib_logfile*, *.err, *.pid 等)
  3. 重新啟動:net start mysql(MySQL 會自動初始化乾淨的系統表空間)

user表初始狀態 匿名帳號導致免密登入 刪除匿名帳號後 設定密碼後登入 密碼格式錯誤示例 1067錯誤截圖

Navicat 註冊碼(供測試用)

NAVH-WK6A-DMVK-DKW3

總結

1067 錯誤 90% 由 my.ini 中 [mysqld] 區塊使用 default-character-set 或 default-storage-engine 缺失引起。套用本文模板、清理 data 目錄重啟、正確設定密碼格式,可一次解決啟動失敗與亂碼問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved