在伺服器上成功安裝 MySQL 後,為了確保資料庫安全、穩定且高效運作,通常需要執行以下六項關鍵的後續操作:
安裝完成後,首要任務是啟動 MySQL 服務。常用的啟動命令如下:
service mysqld start
常見問題: 若遇到 Timeout error occurred trying to start MySQL Daemon 錯誤,解決方法很簡單,執行初始化資料目錄命令即可:
/usr/bin/mysql_install_db
(註:具體路徑可能因安裝方式而異,預設安裝通常在該路徑下。)
查看服務狀態可使用:
/etc/rc.d/init.d/mysqld status
預設安裝下,MySQL 的 root 帳號是無密碼的,為了安全起見,必須立即設定強密碼:
mysql> UPDATE user SET password=PASSWORD('your_strong_password') WHERE User='root';
Query OK, 4 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
此外,建議建立專門的應用程式用戶,避免直接使用 root 權限連線。
新增用戶後需授予適當權限。例如建立一個名為 admin 的用戶:
mysql> INSERT INTO mysql.user(Host, User, Password) VALUES('localhost', 'admin', PASSWORD('admin'));
mysql> FLUSH PRIVILEGES;
授予完整權限(所有資料庫、所有資料表):
mysql> GRANT ALL ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin';
mysql> FLUSH PRIVILEGES;
或僅授予基本增刪改查權限:
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin';
mysql> FLUSH PRIVILEGES;
其中 % 代表允許從任何主機連線,生產環境建議限制為具體 IP 或網段。
預設 MySQL 僅允許本地連線。若需遠端存取,需修改用戶的 Host 欄位或重新授權:
-- 方法一:修改現有用戶 host
mysql> UPDATE user SET host = '%' WHERE user = 'admin';
-- 方法二:直接授權 root 遠端登入(謹慎使用)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
安全提醒: 生產環境務必配合防火牆規則,僅開放受信任 IP 的 3306 端口存取。
建立定期備份機制至關重要。最常用的工具是 mysqldump:
# 備份單一資料庫
mysqldump -u root -p db_name > backup.sql
# 備份所有資料庫
mysqldump -u root -p --all-databases > full_backup.sql
遷移資料時,可先匯出結構與資料分開處理,或使用 mysqlpump(MySQL 5.7+)進行平行匯出以提升效率。
Linux 系統下 MySQL 預設區分表名大小寫。若需設定為不區分大小寫:
/etc/my.cnf[mysqld] 區段下新增:lower_case_table_names=1補充建議: 定期檢查錯誤日誌、監控慢查詢、配置合適的 innodb_buffer_pool_size、啟用二進制日誌以支援主從複制與時間點恢復。