MySQL 是全球最流行的開源關聯式資料庫。本指南涵蓋從安裝後的第一次連線、修改密碼、建立使用者授權,到資料庫/資料表的基本 DDL 操作,適合零基礎的開發者與維運人員快速上手。
mysql -h 主機位址 -u 使用者名稱 -p[密碼]
-h:主機 IP 或主機名,本機可省略或用 localhost/127.0.0.1。-u:使用者名稱(預設 root)。-p:密碼。緊接 -p 後無空格直接寫密碼(不安全,僅供測試),或僅輸入 -p 讓終端機提示輸入(推薦)。cd /usr/local/mysql/bin # 或安裝目錄下的 bin
mysql -u root -p
# 提示輸入密碼時直接按 Enter
成功後出現 mysql> 提示符。
mysql -h 192.168.1.100 -u root -p'MyS3cureP@ss'
遠端連線需確保:
bind-address 設為 0.0.0.0 或具體 IP。CREATE USER 'root'@'%' ... 或 GRANT ... TO 'root'@'%')。EXIT; # 或 QUIT;、Ctrl+D
# 為 root 設定初始密碼
mysqladmin -u root password 'NewPass123'
# 變更既有密碼
mysqladmin -u root -p'OldPass' password 'NewPass123'
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123';
FLUSH PRIVILEGES;
MySQL 5.7+ 採用 authentication_string 欄位,ALTER USER 為標準做法;5.6 可用 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NewPass');。
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
GRANT privileges ON db_name.table_name TO 'username'@'host';
FLUSH PRIVILEGES;
CREATE USER 'test1'@'%' IDENTIFIED BY 'abc123';
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'test1'@'%';
FLUSH PRIVILEGES;
警告:'%' 允許任意主機連線,生產環境嚴禁使用 root 或高權限帳號搭配 %。
CREATE USER 'test2'@'localhost' IDENTIFIED BY 'abc123';
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'test2'@'localhost';
FLUSH PRIVILEGES;
僅允許本機連線,且限定資料庫 mydb,符合最小權限原則。
ALTER USER 'test2'@'localhost' IDENTIFIED BY '';
SHOW DATABASES;
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE mydb;
DROP DATABASE mydb;
CREATE TABLE users (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
DESCRIBE users; # 或 SHOW COLUMNS FROM users;
DROP TABLE users;
; 再按 Enter 即可送出。my.cnf 的 [mysql] 區段加入 prompt=\\u@\\h [\\d]> 可顯示使用者、主機、目前資料庫。熟練上述基礎操作,即可開始在專案中自信地使用 MySQL。建議搭配官方文件與實際練習,循序漸進建立扎實的資料庫功力。