本文記錄 CentOS 6/7 環境下,JDK 1.8 與 MySQL 5.6 (RPM 包) 的標準化安裝配置流程,適合生產環境快速交付與文檔歸檔。
# 假設上傳至 /opt/software tar -xzf jdk-8u60-linux-x64.tar.gz -C /usr/local/ # 重命名目錄便於管理 mv /usr/local/jdk1.8.0_60 /usr/local/java
vim /etc/profile
# 追加以下內容
export JAVA_HOME=/usr/local/java
export JRE_HOME=${JAVA_HOME}/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
# 生效
source /etc/profile
# 驗證
java -version
rpm -qa | grep -i mysql rpm -qa | grep -i mariadb # 強制卸載,忽略依賴 rpm -e --nodeps mysql-libs-5.1.xx mariadb-libs-xx
tar -xvf MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar # 核心必裝包:server, client, shared-compat, shared-libs
rpm -ivh mysql-community-common-5.6.xx.rpm rpm -ivh mysql-community-libs-5.6.xx.rpm rpm -ivh mysql-community-client-5.6.xx.rpm rpm -ivh mysql-community-server-5.6.xx.rpm # 若缺少 libaio, numactl 等依賴,先 yum install -y libaio numactl
# 5.7+ 需初始化數據目錄 (5.6 RPM 安裝通常自動初始化)
# systemctl start mysqld (CentOS 7)
# service mysql start (CentOS 6)
# 獲取臨時 root 密碼 (5.7+ 在 /var/log/mysqld.log 或 ~/.mysql_secret)
grep 'temporary password' /var/log/mysqld.log
# 登錄並修改密碼、授權遠程
mysql -uroot -p'TempPass!'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass123!';
# 5.6 版本用:SET PASSWORD = PASSWORD('NewStrongPass123!');
# 開啟遠程訪問 (生產建議限制具體 IP,而非 %)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'NewStrongPass123!' WITH GRANT OPTION;
FLUSH PRIVILEGES;
編輯 /etc/my.cnf (或 /etc/mysql/my.cnf) [mysqld] 區段:
character-set-server = utf8mb4 collation-server = utf8mb4_general_ci init_connect='SET NAMES utf8mb4' skip-character-set-client-handshake # 強制服務端字符集
重啟服務生效。
/var/log/mysqld.log,常見於權限、磁盤空間、SELinux、端口衝突。SHOW VARIABLES LIKE 'character_set%'; 確認全鏈路 utf8mb4。firewall-cmd --add-port=3306/tcp --permanent、MySQL bind-address=0.0.0.0、用戶 Host 權限。