首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Ubuntu 15.10 源碼編譯安裝 MySQL 5.6 全流程與安全加固指南

     編輯:MySQL 綜合教學

Ubuntu 15.10 源碼編譯安裝 MySQL 5.6 全流程與安全加固指南

本文記錄從下載源碼包到完成安全加固的完整過程,包含依賴處理、用戶隔離、目錄初始化、服務驗證、賬戶清理、測試庫刪除等生產級操作,經多次驗證可直接落地。

環境與版本

  • OS:Ubuntu 15.10 (64 位)
  • MySQL:5.6.28 (Generic Linux glibc 2.5)
  • 安裝路徑:/usr/local/mysql-5.6.28-linux-glibc2.5-x86_64,軟鏈接 /usr/local/mysql

步驟 1:下載與依賴安裝

# 官網下載
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz

# 必裝依賴:libaio
sudo apt-cache search libaio
sudo apt-get install libaio1

步驟 2:創建專用用戶組與用戶(安全隔離)

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
  • -r:系統用戶,無登錄權限
  • -s /bin/false:禁止 Shell 登錄

步驟 3:解壓、軟鏈接、目錄歸屬

cd /usr/local
sudo tar zxvf ~/mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz
sudo ln -s mysql-5.6.28-linux-glibc2.5-x86_64 mysql

步驟 4:初始化 Data 目錄(關鍵權限切換)

cd /usr/local/mysql
# 1. 整個目錄歸 mysql 用戶
sudo chown -R mysql .
sudo chgrp -R mysql .

# 2. 以 mysql 身份初始化系統表
sudo -u mysql scripts/mysql_install_db --user=mysql

# 3. 目錄歸 root,僅 data 目錄歸 mysql
sudo chown -R root .
sudo chown -R mysql data

參考官方文檔:Data Directory Initialization

步驟 5:啟動驗證與基礎測試


步驟 6:解決 Ubuntu 缺失 mysql 客戶端問題

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

修復方案:

> /usr/local/mysql/my.cnf

# 建立軟鏈接兼容
sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock

# 重啟服務
cd /usr/local/mysql
sudo bin/mysqld_safe --user=mysql &

步驟 8:賬戶安全加固(核心)

8.1 檢查初始用戶(均無密碼)

-- 方式一:SET PASSWORD(逐個)
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('StrongPass123!');
SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('StrongPass123!');
SET PASSWORD FOR 'root'@'::1' = PASSWORD('StrongPass123!');
SET PASSWORD FOR 'root'@'leaf' = PASSWORD('StrongPass123!');

-- 方式二:UPDATE 批量(推薦)
UPDATE mysql.user SET Password = PASSWORD('StrongPass123!') WHERE User = 'root';
FLUSH PRIVILEGES;

8.3 處理匿名用戶(二選一)

DELETE FROM mysql.db WHERE Db LIKE 'test%';
DROP DATABASE test;
FLUSH PRIVILEGES;

步驟 10:驗證加固結果

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved