| 操作 | CentOS / RHEL 6 | Ubuntu / Debian |
|---|---|---|
| 查看狀態 | service mysqld status 或 /etc/init.d/mysqld status | service mysql status |
| 啟動服務 | service mysqld start | service mysql start |
| 停止服務 | service mysqld stop | service mysql stop |
| 重啟服務 | service mysqld restart | service mysql restart |
關鍵差異: CentOS 服務名為 mysqld,Ubuntu 為 mysql (無尾綴 d)。
# 方式 1:指定密碼 (不安全,歷史記錄可見)
mysql -u root -p123456
# 方式 2:交互式輸入密碼 (推薦)
mysql -u root -p
Enter password:
# 方式 3:指定 Socket (非預設路徑)
mysql -u root -p -S /var/lib/mysql/mysql.sock
# 方式 4:TCP 連線指定主機埠口
mysql -h 127.0.0.1 -P 3306 -u root -p
| 功能 | 指令 |
|---|---|
| 查看版本 | SELECT VERSION(); 或 STATUS; |
| 顯示資料庫 | SHOW DATABASES; |
| 切換資料庫 | USE db_name; |
| 顯示資料表 | SHOW TABLES; |
| 查看表結構 | DESC table_name; 或 SHOW CREATE TABLE table_name; |
| 退出 | EXIT; / QUIT; / \q |
service mysqld status → 顯示 mysqld is stoppedservice mysqld start → 需 root 權限 (sudo)mysql -u root -p → 進入 mysql> 提示符SELECT VERSION(); → 回傳 5.1.73EXIT; → service mysqld stopmysql (無 d)。/etc/mysql/my.cnf (非 /etc/my.cnf)。/var/lib/mysql。/var/log/mysql/。
#!/bin/bash
# check_mysql.sh
if systemctl is-active --quiet mysqld 2>/dev/null || service mysqld status 2>/dev/null | grep -q running; then
echo "MySQL running"
mysql -u root -p${MYSQL_ROOT_PASSWORD} -e "SELECT 1;" 2>/dev/null && echo "Connection OK" || echo "Connection FAILED"
else
echo "MySQL STOPPED"
fi
掌握基礎操作是進階調優、自動化運維的基石。