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

MySQL 客戶端連接與用戶管理速查:從連接參數到權限授權模板

     編輯:MySQL 資料庫相關知識

MySQL 命令行客戶端連接參數、用戶創建授權模板、操作技巧、顯示命令,構建日常運維速查手冊。

一、連接命令格式


mysql -h host -u user -p[password] [database]
# 參數緊跟選項無空格:-uroot -p123 (生產環境建議 -p 交互輸入)

二、連接示例

場景命令
本機 root 無密 (初裝)mysql -uroot -p → 直接回車
本機 root 有密mysql -uroot -p → 輸入密碼
遠程連接mysql -h 192.168.1.100 -uroot -p
指定庫直連mysql -h 192.168.1.100 -uapp -p -D mydb
執行單條 SQL 退出mysql -uroot -p -e "SELECT VERSION();"
退出客戶端exit / quit / \q

三、修改密碼


# 5.7 / 8.0 通用 (推薦)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass#2024';
FLUSH PRIVILEGES;

# 5.7 兼容
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NewPass#2024');

# mysqladmin 命令行 (需舊密碼)
mysqladmin -uroot -p'oldpass' password 'newpass'

四、用戶創建授權模板 (8.0 推薦分離式)


-- 1. 創建用戶 (指定主機/密碼/插件/過期策略)
CREATE USER 'app_user'@'10.0.%' 
  IDENTIFIED WITH caching_sha2_password BY 'StrongPass#2024'
  PASSWORD EXPIRE INTERVAL 90 DAY
  FAILED_LOGIN_ATTEMPTS 5
  PASSWORD_LOCK_TIME 2;

-- 2. 授權 (最小權限)
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'app_user'@'10.0.%';
-- 僅特定表
GRANT SELECT ON mydb.orders TO 'report_user'@'10.0.%';

-- 3. 生效
FLUSH PRIVILEGES;

-- 4. 查看權限
SHOW GRANTS FOR 'app_user'@'10.0.%';

五、操作效率技巧

  • 分號可換行:多行 SQL 以分號結束,單行忘加分號可補輸入分號回車
  • 上下鍵歷史:調用上一條命令 (需 readline 支持)
  • \G 垂直顯示:SELECT * FROM t \G 適合寬表閱讀
  • \c 取消當前語句:輸入中途想放棄,輸入 \c 回車

六、核心顯示命令


SHOW DATABASES;                    -- 庫列表
USE mysql; SHOW TABLES;            -- mysql 系統庫表
DESC user;                         -- 表結構
SHOW CREATE TABLE user;            -- 完整建表語句
SELECT Host, User FROM user;       -- 所有用戶
SHOW GRANTS FOR 'root'@'localhost'; -- 權限詳情
SHOW VARIABLES LIKE 'max_conn%';   -- 參數查看
SHOW PROCESSLIST;                  -- 當前連接/查詢
SHOW ENGINE INNODB STATUS;         -- InnoDB 狀態
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved