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

Linux 系統源碼編譯安裝 MySQL 5.5 完整教程(含常見坑點修復)

     編輯:MySQL 綜合教學

環境準備


# 依賴包
yum -y install gcc gcc-c++ ncurses-devel cmake bison

# 創建用戶組
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

# 目錄規劃
mkdir -p /usr/local/mysql
mkdir -p /data/mysql

編譯安裝步驟

  1. 解壓並進入目錄
    tar zxvf mysql-5.5.48-linux2.6-x86_64.tar.gz
    cp -r mysql-5.5.48-linux2.6-x86_64 /usr/local/mysql
    cd /usr/local/mysql
    
  2. 權限設置
    
    chown -R mysql:mysql ./
    
  3. 初始化數據目錄
    
    ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
    
  4. 調整目錄權限
    
    chown -R root:root ./
    chown -R mysql:mysql /data/mysql
    
  5. 啟動腳本與服務
    
    cp support-files/mysql.server /etc/init.d/mysqld
    chmod 755 /etc/init.d/mysqld
    chkconfig --add mysqld
    chkconfig mysqld on
    service mysqld start
    

後續配置

修改 root 密碼


./bin/mysqladmin -u root -h localhost password 'newpass'

客戶端軟鏈接


ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

常見坑點與修復

1. Socket 文件找不到

報錯:Can't connect to local MySQL server through socket '/tmp/mysql.sock'

原因:/etc/my.cnf 指定 socket=/var/lib/mysql/mysql.sock,客戶端默認找 /tmp/mysql.sock。

修復:


ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
# 或修改 my.cnf [client] socket=/var/lib/mysql/mysql.sock

2. 遠程連接被拒

現象:本地連通,Navicat 等工具遠程報錯。

排查:

  • 檢查 user.Host 是否為 %
  • 執行 GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'pass'; FLUSH PRIVILEGES;
  • 確認防火牆開放 3306:iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
  • my.cnf 設置 bind-address=0.0.0.0

3. 密碼不生效

MySQL 5.7+ 初始化生成隨機密碼,需查看 .mysql_secret 或日誌,首次登錄後強制修改。

驗證安裝


ps -ef | grep mysql
mysql -u root -p -e "SHOW VARIABLES LIKE 'datadir';"
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved