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

MySQL 常見錯誤碼速查手冊:1005、121、權限、防火牆、自啟動

     編輯:MySQL 資料庫相關知識

1. errno 1005:外鍵建立失敗(主外鍵定義不一致)

檢查清單:

  • ✅ 參照欄位**存在**且**名稱一致**
  • ✅ **資料型態完全相同**(含 UNSIGNED、長度、字符集)
  • ✅ **儲存引擎一致**(InnoDB/InnoDB)
  • ✅ **字符集/校對規則一致**
  • ✅ Windows 下 lower_case_table_names = 0(區分大小寫)

2. errno 121:外鍵約束名稱重複

解決:顯式指定唯一約束名 CONSTRAINT fk_unique_name FOREIGN KEY (...) REFERENCES ...

3. MySQL Workbench 圖示縮寫對照

縮寫全稱含義
PKPrimary Key主鍵欄位
NNNot Null非空
UQUnique唯一鍵
AIAuto Increment自增
BINBinary二進制資料(BLOB 等)
UNUnsigned無符號整數
ZFZero Fill前導補零(顯示用)

4. 遠程 root 權限授權模板

-- 建立帳號
CREATE USER 'root'@'%' IDENTIFIED BY 'StrongRootPass#2024';
-- 或舊版
INSERT INTO mysql.user (Host, User, authentication_string) VALUES ('%', 'root', PASSWORD('StrongRootPass#2024'));

-- 授權
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'StrongRootPass#2024' WITH GRANT OPTION;
FLUSH PRIVILEGES;

5. 防火牆開放 3306(持久化)

# iptables
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables status

# firewalld
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

6. 開機自啟動

/sbin/chkconfig --level 2345 mysqld on
/sbin/chkconfig --list
# mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

7. 常用排查指令速查

-- 當前連線
SHOW PROCESSLIST;

-- 慢查詢開啟
SET GLOBAL slow_query_log = ON;
SET GLOBAL long_query_time = 1;

-- 鎖表狀態
SHOW OPEN TABLES WHERE In_use > 0;

-- InnoDB 狀態
SHOW ENGINE INNODB STATUS\G

-- 表大小
SELECT table_schema, table_name, 
       ROUND(data_length/1024/1024,2) AS data_mb,
       ROUND(index_length/1024/1024,2) AS idx_mb
FROM information_schema.tables
ORDER BY data_length DESC;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved