二進制手動部署易踩坑(路徑、權限、啟動腳本),dnf/yum install mysql-server 自動處理依賴、目錄結構、systemd 服務、logrotate、預設配置,適合學習與生產快速啟動。
# 1. 停止服務
systemctl stop mysqld
# 2. 跳過授權表啟動
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# 3. 免密登入重設
mysql -u root mysql
UPDATE user SET Password=PASSWORD('newpass') WHERE User='root';
FLUSH PRIVILEGES;
QUIT
# 4. 正常重啟
systemctl restart mysqld
mysql -uroot -p'newpass'
前提:擁有一台健康的同版本實例
# 源端導出
mysqldump --opt mysql > mysql.sql
scp mysql.sql 目標主機:
# 目標端還原
mysql
CREATE DATABASE mysql;
USE mysql;
SOURCE /path/to/mysql.sql;
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload# 查看被阻擋上下文
ausearch -m avc -ts recent | grep mysqld
# 修正 mysqld 執行檔上下文(針對自定義路徑)
chcon -t mysqld_exec_t /usr/libexec/mysqld
# 或恢復預設
restorecon -v /usr/libexec/mysqld
# 重啟驗證
systemctl start mysqld| 操作 | 指令 |
|---|---|
| 啟動 | systemctl start mysqld |
| 停止 | systemctl stop mysqld |
| 重啟 | systemctl restart mysqld |
| 開機自啟 | systemctl enable mysqld |
| 狀態查看 | systemctl status mysqld |
| 日誌查看 | journalctl -u mysqld -f |
mysql_secure_installation
# 互動式:設 root 密碼、移除匿名用戶、禁止 root 遠程登入、移除 test 庫、重新載入權限
mysql-server 為虛擬包),確認 rpm -qi mariadb-server/var/lib/mysql,掛載獨立磁碟請修改 /etc/my.cnf.d/mariadb-server.cnf 的 datadirsemanage fcontext + restorecon 永久修正**,單用 chcon 重啟後失效