首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Linux 環境 MySQL/Apache/PHP 編譯安裝與遠端連線授權完整腳本

     編輯:MySQL 資料庫相關知識

在 Linux 從原始碼編譯安裝 LAMP 棧 (MySQL 5.1、Apache 2.2、PHP 5.3) 並啟用 MySQL 遠端連線,完整指令腳本與關鍵配置說明。

目錄規劃

/home/tmp/          # 原始碼暫存
/usr/local/mysql/   # MySQL 安裝根目錄
/usr/local/apache2/ # Apache 安裝根目錄
/usr/local/php/     # PHP 安裝根目錄

1. MySQL 5.1.33 編譯安裝

cd /home/tmp
groupadd mysql
useradd -g mysql mysql

tar -zxvf mysql-5.1.33.tar.gz
cd mysql-5.1.33
./configure --prefix=/usr/local/mysql
make && make install

cd /usr/local/mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .

cp support-files/my-small.cnf /etc/my.cnf
# 編輯 /etc/my.cnf [mysqld] 區段加入 user=mysql

/usr/local/mysql/bin/mysql_install_db --user=mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &

cp support-files/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 35 mysql on

# 驗證
/usr/local/mysql/bin/mysql -u root

2. 字元集設定 (UTF-8)

# 編輯 /etc/my.cnf
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
[mysql]
default-character-set=utf8

3. Apache 2.2.13 編譯安裝

cd /home/tmp
tar -zxvf httpd-2.2.13.tar.gz
cd httpd-2.2.13
./configure --prefix=/usr/local/apache2 \
            --enable-so --enable-rewrite \
            --enable-auth-digest=shared --enable-ssl --enable-deflate
make && make install

cp /usr/local/apache2/bin/apachectl /etc/init.d/
chmod 755 /etc/init.d/apachectl
/etc/init.d/apachectl start

4. PHP 5.3.0 編譯安裝 (含 MySQL/PDO 支援)

cd /home/tmp
tar -xzf php-5.3.0.tar.gz
cd php-5.3.0
./configure --prefix=/usr/local/php \
            --with-apxs2=/usr/local/apache2/bin/apxs \
            --with-mysql=/usr/local/mysql \
            --with-pdo-mysql \
            --with-zlib --with-libxml-dir --with-xsl \
            --enable-mbstring --enable-zend-multibyte \
            --enable-sockets --enable-soap --enable-zip
make && make install

# 複製 php.ini
cp php.ini-development /usr/local/php/lib/php.ini

# 載入 PDO MySQL (確認 .so 路徑)
# extension=/usr/local/php/lib/php/extensions/.../pdo_mysql.so

/etc/init.d/apachectl restart

5. MySQL 遠端連線授權

# 登入 MySQL
/usr/local/mysql/bin/mysql -u root -p
USE mysql;

# 方法一:修改 root Host 為 % (允許所有 IP)
UPDATE user SET Host = '%' WHERE User = 'root' LIMIT 1;
FLUSH PRIVILEGES;

# 方法二:建立專用遠端帳號 (更安全)
GRANT ALL PRIVILEGES ON db_name.* TO 'app_user'@'192.168.1.%' IDENTIFIED BY 'strong_pwd';
FLUSH PRIVILEGES;

6. 解除 bind-address 限制 (Ubuntu/Debian 預設綁定 127.0.0.1)

# 編輯 /etc/mysql/my.cnf
# 註解掉 bind-address = 127.0.0.1
# 或改為 bind-address = 0.0.0.0

service mysql restart

驗證遠端連線

# 客戶端機器
mysql -h 192.168.1.x -u app_user -p
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved