MySQL 作為最流行的開源關係型數據庫,掌握其核心命令是開發者與運維人員的基本功。本文系統整理了 MySQL 日常操作中高頻使用的命令,涵蓋系統管理、用戶權限、數據庫與表操作、數據導入導出等核心場景,適合作為速查手冊隨時查閱。
了解文件佈局有助於排查問題與配置優化:
/var/lib/mysql/(存放數據文件)/usr/share/mysql/(含 mysql.server 啟動腳本)/usr/bin/(mysqladmin、mysqldump 等)/etc/init.d/mysql# 本地連接 mysql -u root -p # 遠程連接 mysql -h 127.0.0.1 -u root -p
參數說明:-h 指定主機,-u 用戶名,-p 提示輸入密碼。
mysql -u root -p
USE mysql;
UPDATE user SET authentication_string=PASSWORD('新密碼') WHERE User='root';
FLUSH PRIVILEGES;
QUIT;
注意:MySQL 5.7+ 版本 password 欄位已改為 authentication_string。
-- 創建用戶並授權(推薦 8.0+ 語法) CREATE USER 'test1'@'%' IDENTIFIED BY 'abc'; GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'test1'@'%'; FLUSH PRIVILEGES; -- 僅允許本地訪問 GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'test2'@'localhost' IDENTIFIED BY 'abc'; -- 刪除用戶 DROP USER 'test1'@'%';
SHOW DATABASES; -- 列出所有庫 CREATE DATABASE test; -- 創建庫 USE test; -- 切換庫 SELECT DATABASE(); -- 查看當前庫 DROP DATABASE test; -- 刪除庫
-- 建表示例
CREATE TABLE MyClass (
id INT(4) NOT NULL PRIMARY KEY AUTO_INCREMENT,
name CHAR(20) NOT NULL,
sex INT(4) NOT NULL DEFAULT '0',
degree DOUBLE(16,2)
);
-- 查看結構
DESC MyClass;
SHOW COLUMNS FROM MyClass;
-- 修改表結構
ALTER TABLE MyClass ADD passtest INT(4) DEFAULT '0'; -- 增加欄位
ALTER TABLE MyClass CHANGE name new_name CHAR(30); -- 重命名欄位
RENAME TABLE MyClass TO YouClass; -- 重命名表
-- 插入 INSERT INTO MyClass VALUES (1, 'Tom', 96.45), (2, 'Joan', 82.99); -- 查詢 SELECT * FROM MyClass; SELECT * FROM MyClass ORDER BY id LIMIT 0, 2; -- 分頁 -- 更新 UPDATE MyClass SET name='Mary' WHERE id=1; -- 刪除 DELETE FROM MyClass WHERE id=1;
# 導出所有庫 mysqldump -u root -p -A > all_dbs.sql # 導出指定庫(含結構與數據) mysqldump -u root -p mydb > mydb.sql # 僅導出結構 mysqldump -u root -p -d mydb > mydb_struct.sql # 僅導出數據 mysqldump -u root -p -t mydb > mydb_data.sql # 導出存儲過程/函數/事件 mysqldump -u root -p -R -E mydb > mydb_routines.sql
# 方式一:source 命令(需先進入 mysql 客戶端) mysql> CREATE DATABASE mydb; mysql> USE mydb; mysql> SOURCE /path/to/mydb.sql; # 方式二:管道重定向 mysql -u root -p mydb < /path/to/mydb.sql
| 權限分類 | 關鍵字 | 說明 |
|---|---|---|
| 全局管理 | FILE, PROCESS, RELOAD, SHUTDOWN | 文件讀寫、進程查看/殺死、重載配置、關閉服務 |
| 庫/表/列級 | ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, UPDATE | 結構修改、創建、刪除、索引、增刷改查 |
| 特殊權限 | ALL, USAGE | 全部權限 / 僅允許登錄 |
--single-transaction 實現熱備份,不鎖表。掌握上述命令組合,即可應對 90% 的 MySQL 日常運維場景。建議收藏備查,實踐中靈活組合參數以提升效率。