Latest News

Home » 網路最新資訊 » 網頁&資料庫 Linux主機服務(Linux主機伺服器架設技術)

網頁&資料庫 Linux主機服務(Linux主機伺服器架設技術)

網頁&資料庫  Linux主機服務(Linux主機伺服器架設技術)

Linux 上預載之網頁及資料庫伺服器有,網頁(WWW):Apache2,動態網頁語言:PHP5,資料庫:MySQL5。
這三套的組合,可供網站管理者放置純靜態網頁(HTML)以及含 PHP+MySQL 的動態網頁。
也因此,可以架設一些具 Web 2.0 互動功能的網站,如 XOOPS(CMS), WordPress(部落格), Moodle(數位學習), MediaWiki(共筆系統), osTube(影音平台), Joomla(CMS), Drupal(CMS)…等等。這樣一來可以服務學校同仁,令所有行政人員皆可自主貼公告、影片及照片,二來減少網管網站內容維運的工作壓力。
開啟PORT

    * TCP 80   Apache2 + PHP
    * TCP 443  加密通道(HTTPS)
    * TCP 3306 MySQL

網頁伺服器 Apache2
基本設定
基本結構

    * 預設網頁存放位置: /var/www
      注意:除了上傳之必要子目錄外,此資料夾切不可以讓 www-data 可完整讀寫
    * 預設個人網頁位置: /home/user/public_html
    * 設定檔位置: /etc/apache2
          主設定檔: /etc/apache2/apache2.conf
          必載入之相關設定: /etc/apache2/conf.d/*
            注意:在此目錄下的所有設定檔皆會被執行,所以若有任何修改,其備份設定檔不可留在原地
          可用模組: /etc/apache2/mods-available
          模組啟用: /etc/apache2/mods-enabled
          可用虛擬站台: /etc/apache2/sites-available
          虛擬站台啟用: /etc/apache2/sites-enabled
    * 記錄檔
          存取記錄: /var/log/apache2/access.log
          錯誤記錄: /var/log/apache2/error.log

模組管理

    * 模組安裝管理
          列出可供安裝的 apache2 套件,裡面名為 apache2-xxx 之套件就是可安裝的模組:
            root@dns:~# apt-cache search libapache2
          安裝模組:
            root@dns:~# apt-get install libapache2-mod-xxxx
    * 啟用模組
         1. 列出模組真實名稱
            root@dns:~# cd /etc/apache2/mods-available
            root@dns:~# ls
         2. 啟用所找到模組,例如:啟用個人網頁模組
            root@dns:~# a2enmod userdir
            注意:模組設定檔大多會有 *.load 及 *.conf 但啟用時,不用輸入副檔名
         3. 重新啟動 Apache2
            root@dns:~# service apache2 restart
    * 註:Apache2 模組並不等於 PHP5 模組,請勿搞混

首頁基本參數

    * 首頁設定檔: /etc/apache2/sites-available/default
    * 參數解說

參數     選項     說明
DocumentRoot     /var/www     首頁資料夾位置在 /var/www
Options     Indexes     首頁沒 index.html 時,自動列出檔案清單

    FollowSymLinks     允許使用 Alias 建立的資料夾捷徑(ex. phpmyadmin)

    MultiViews     增強多國語言支持(Big5 & UTF8 同存也算),但會影響效能
AllowOverride     All     支援 htaccess 程度,若 All 代表完全支援 htaccess 語法
Order
    allow, deny     allow from 及 deny from 抵觸時,以 allow 占較高優先權
allow from     all     允許所有 IP Address 瀏覽本網站

優化Big5與UTF8網頁並存時之處理

    * /etc/apache2/conf.d/charset → 把 AddDefaultCharset 註解掉
      root@dns:~# vi /etc/apache2/conf.d/charset

# AddDefaultCharset UTF-8

    * 在 /etc/apache2/sites-available/default ,加上 MultiViews
      root@dns:~# vi /etc/apache2/sites-available/default

     DocumentRoot /var/www
     <Directory />
          Options FollowSymLinks Multiviews
          AllowOverride All
     </Directory>
     <Directory /var/www/>
          Options FollowSymLinks MultiViews
          AllowOverride All
          Order allow,deny
          allow from all
     </Directory>

個人網頁

個人網頁功能是讓一般的使用者可以在自己的家目錄底下建立網頁,塔配 ftp 功能,讓使用者自己管理自己的網站。

    * Linux/Linux Server 預設個人網頁位置: /home/username/public_html
    * 連線方式: http://your.host.name/~username/

Linux e 及 sqz 啟用個人網頁功能

Linux e 版本起,預設並沒啟用個人網頁的功能,因此要做一些調整。

    * 啟動個人網頁
      root@dns:~# a2enmod userdir
    * 重新啟動 Apache2
      root@dns:~# service apache2 restart
    * 若要讓個人網頁也可以執行 PHP Code, Linux sqz 這個版本必須繼續修改 /etc/apache2/mods-available/php5.conf , 把下面幾行加 # 註解

<IfModule mod_php5.c>

    <FilesMatch ".ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch ".phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    # Tre-enable php in user directories comment the following lines
    # (from <IfModule …> t</IfModule>.) DNOT set it tOn as it
    # prevents .htaccess files from disabling it.
#    <IfModule mod_userdir.c>
#        <Directory /home/*/public_html>
#           php_admin_value engine Off
#        </Directory>
#    </IfModule>
</IfModule>

自訂個人網頁位置

有時,自舊機器移轉至 Linux 時,由於個人網頁的舊設定值是 /home/user_name/html 與 Linux 上的預設值 /home/user_name/public_html 不同,因而出現一些問題。因此,我們可透過修改一些參數,而不必去把每個有個人網頁的使用者找出來修改其網頁資料夾位置仍能達成個人網頁的使用。

    * 注意: Linux sqz 版預設沒有啟動個人網頁功能,請先啟用
      root@dns:~# a2enmod userdir
      root@dns:~# service apache2 restart
    * 設定檔 /etc/apache2/mods-available/userdir.conf
    * 修改下面紅字的部分

<IfModule mod_userdir.c>

   UserDir html
   UserDir disabled root

   <Directory /home/*/html>
      AllowOverride FileInfAuthConfig Limit Indexes
      Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
      <Limit GET POST OPTIONS>
         Order allow,deny
         Allow from all
      </Limit>
      <LimitExcept GET POST OPTIONS>
         Order deny,allow
         Deny from all
      </LimitExcept>
   </Directory>
</IfModule>

    * 重新啟動 Apache2 伺服器
      root@dns:~# service apache2 restart
    * 注意: /home/user_name 資料夾的權限必須為 755 才可以

自訂錯誤訊息

這裡所謂的錯誤訊息,是指外面連到學校網頁時,連到某些不存在或有設密碼的網頁時,Apache2 會送出一些警告訊息,以通知瀏覽者。但是,由於這些錯誤訊息並沒有中文版,會造成一些困擾。不過,我們仍可自行製作屬於自己的錯誤訊,比如:瀏覽到不存在網頁,您可以說「別搞怪!本站沒此頁面…看…什麼!」。

    * 設定檔位置,在此,筆者以 /etc/apache2/apache2.conf 為例
          Linux Server(Janaca) ~ Linux e系列: /etc/apache2/apache2.conf
          Linux sqz : /etc/apache2/conf.d/localized-error-pages

    * 修改步驟如下:

   1. 修改設定檔啟用自訂頁面,依本例:只建立 404 及 403 兩訊息,其餘不變
      root@dns:~# vi /etc/apache2/apache2.conf
      找到以下內容,修改紅字部分
      # Customizable error responses come in three flavors:

      # 1) plain text 2) local redirects 3) external redirects
      #
      # Some examples:
      #ErrorDocument 500 "The server made a boboo."
      ErrorDocument 403 /errmsg/e403.php
      ErrorDocument 404 /errmsg/e404.php
      #ErrorDocument 402 http://www.example.com/subscription_info.html
   2. 找一個地方並寫好自訂訊息頁面,依本例其位置在: /var/www/errmsg/
          * 編輯 e403.php 權限不足警告頁例子

            <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
            <html lang="zh-tw">

            <head>
            <meta content="text/html; charset=UTF-8" http-equiv="content-type">
            <title>403 Permission Deny!</title>
            </head>

            <body>
            <br><br>
            <h2 align="center">403 Permission Deny! 抱歉您無權閱讀本網頁!
            <br><br>
            <?php ech"<a href='http://".$_SERVER["HTTP_HOST"]."/>回本站首頁</a>" ?>
            </h2>
            </body>

            </html>

          * 編輯 e404.php 找不到頁面的警告頁例子

            <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
            <html lang="zh-tw">

            <head>
            <meta content="text/html; charset=UTF-8" http-equiv="content-type">
            <title>404 not find!</title>
            </head>

            <body>
            <br><br>
            <h2 align="center">404! 找不到您要求的網頁!
            <br><br>
            <?php ech"<a href='http://".$_SERVER["HTTP_HOST"]."/>回本站首頁</a>" ?>
            </h2>
            </body>

            </html>

   3. 重新啟動 Apache2
      root@dns:~# service apache2 restart

新增虛擬站台

在此,筆者是以下列之模擬情境列文說明,此情境適用於當學校有另一個人需獨立負責某一網站,網管人員可以在不交出 root 權限下,開放一組 PHP+MySQL 網頁空間給該使用者。

    * 管理者開設一組 Linux 及 MySQL 的 user 帳號/密碼,如:myuser。
    * 因此在 /home 及 /var/lib/mysql 底下皆會產生 myuser 資料夾。
      使用者只能用 ftp 及 phpmyadmin 管理自己的網頁及資料庫(看不到其他資料)。
    * 最後管理者改變網址之指定,如下所示:

http://your.host.name/~myuser   –>   http://myuser.your.host.name/

開設 myuser 帳號

    * 新增 Linux 帳號
      root@dns:~# adduser myuser
    * 使用 phpmyadmin 建立 MySQL 空間

   1. 建立資料庫 myuser
      在 phpmyadmin 首頁就有建立資料庫的功能,請依自己的需求建立
   2. 下 SQL 語法,建立 myuser 使用者並使其只能完全存取 myuser 資料庫

GRANT ALL PRIVILEGES
   ON myuser.*
   T'myuser'@'localhost'
   IDENTIFIED BY 'myuser_pwd';

修改 DNS 設定

新增 myuser.your.host.name 網址

以大成國小 dns 正解設定檔 /etc/bind/db.dc1es.tnc.edu.tw 舉例如下:
      :

www  IN   CNAME   dns.dc1es.tnc.edu.tw.
myuser  IN   CNAME   dns.dc1es.tnc.edu.tw.
;
mail    IN   A   163.26.182.1
s2      IN   A   163.26.182.2
      :

以上例而言:筆者新增了一筆 myuser.dc1es.tnc.edu.tw → 163.26.182.1 的 dns 記錄,也就是說目前 163.26.182.1 有多個英文網址,比如 :

    * dc1es.tnc.edu.tw
    * dns.dc1es.tnc.edu.tw
    * www.dc1es.tnc.edu.tw
    * mail.dc1es.tnc.edu.tw
    * myuser.dc1es.tnc.edu.tw

         :
         :
         等
         等
新增 myuser 虛擬站台

    * 設定檔: /etc/apache2/sites-available
    * 工作原理
          原預設值是針對 hostname 設定(ex: dns.dc1es.tnc.edu.tw)
          要啟用多組設定,不能針對您所要的 myuser 設定,必須考慮周詳。亦即把使用者連至學校首頁的所有可能性皆設妥。例如: http://www.dc1es.tnc.edu.tw 、http://dc1es.tnc.edu.tw 、http://163.26.182.1

修改 /etc/apache2/sites-available/default

修改 default 以供 http://dc1es.tnc.edu.tw 使用

    * root@dns:~# vi /etc/apache2/sites-available/default

Linux Server ~ Linux t3 前面幾行舉例如下:
NameVirtualHost *

<VirtualHost *>
   ServerAdmin webmaster@dns.dc1es.tnc.edu.tw
   # ServerName dc1es.tnc.edu.tw
   DocumentRoot /var/www/
      :
      :

Linux e1 ~ Linux sqz 前面幾行舉例如下:
<VirtualHost *:80>

   ServerAdmin webmaster@dns.dc1es.tnc.edu.tw
   ServerName dc1es.tnc.edu.tw
   ServerAlias www.dc1es.tnc.edu.tw
   ServerAlias 163.26.182.1
   DocumentRoot /var/www/
      :
      :

建立 /etc/apache2/sites-available/myuser

建立 myuser 供 http://myuser.dc1es.tnc.edu.tw 使用

    * root@dns:/etc/apache2/sites-available# vi myuser (內容如下所示)

Linux Server 示例

<VirtualHost 163.26.182.1:80>
        ServerAdmin myuser@dc1es.tnc.edu.tw
        ServerName myuser.dc1es.tnc.edu.tw
        DocumentRoot /home/myuser/public_html/
        <Directory /home/myuser/public_html/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                AddType application/x-httpd-php .php
        </Directory>
</VirtualHost>

Linux Server 示例

<VirtualHost *:80>
        ServerAdmin myuser@dc1es.tnc.edu.tw
        ServerName myuser.dc1es.tnc.edu.tw
        DocumentRoot /home/myuser/public_html/
        <Directory /home/myuser/public_html/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                AddType application/x-httpd-php .php
        </Directory>
</VirtualHost>

啟動各服務

    * root@dns:~# a2ensite myuser
    * root@dns:~# service bind9 restart
    * root@dns:~# service apache2 restart

Apache2 資安管理
特定網頁之連線限制

若學校有些網頁只限校內 IP 讀取(intranet),但又不想另外架一台網頁伺服器,這時可以透過對資料夾的讀取權限制來達成此一目的。其設定方式可以參考 Linux Server 上 ra-phpmyadmin 之參數寫法,詳見以下說明:

設定方式

    * 設定位置: /etc/apache2/conf.d
    * 舉例說明: /etc/apache2/conf.d/ra-phpmyadmin

# 要鎖的資料夾, 舉例而言 /var/www/myweb –> 要寫成 <Location /myweb>
<Location /phpmyadmin>
  order deny,allow
  deny from all
  # 可連線區, 新增教網中心網段
  allow from 127.0.0.1 163.26.182.0/24 203.68.102.0/24
  Options FollowSymLinks MultiViews
</Location>

無法連線之錯誤訊息
Forbidden

You don't have permission taccess /phpmyadmin/ on this server.
Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny8 with Suhosin-Patch Server at 163.26.182.234 Port 80

解除方式

解除的方式很簡單,把 ra-phpmyadmin 搬走即可,做法如下:

    * root@dns:~# mv /etc/apache2/conf.d/ra-phpmyadmin /root

    * root@dns:~# service apache2 restart

    * 註:絕對不可以把原檔改個名字仍留 conf.d 資料夾內,因為這個資料夾內所有的檔案(無論檔名為何)皆會被執行。

上傳區禁止執行 Script 語言

有時會因一些架站軟體的要求,要建立資料上傳區,如 /var/www/uploads ,而且其檔案權限必須是網頁伺服器(www-data)可讀取(或設成 777)。此時,若有心人士,無論是經由合法手段或透過 PHP 程式漏洞,把 *.php 丟到 uploads ,再經由瀏覽器執行,這樣就會產生資安風險。但如果,不讓 Apache2 伺服器對 uploads 底下特定類型 script 予以解譯並執行的話,那麼此風險就可降到最低。詳細做法如下:

    * 先確認 /etc/apache2/sites-available/default 之 AllowOverride 參數改為 All,擷取部分內容如下

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/>
        Options FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    * 建立 /var/www/uploads/.htaccess
      root@dns:~# vi /var/www/uploads/.htaccess (內容示例如下)

<FilesMatch ".(php|php3|php4|php5|phtml|pl|py|sh|cgi)$">
deny from all
</FilesMatch>

    * 註:影響力只達 .htaccess 所在之資料夾

    * 改 .htaccess 權限為 root 所有,其他身份唯讀,以免被使用者上傳自己的 .htaccess 覆蓋
      root@dns:~# chown root.root /var/www/uploads/.htaccess
      root@dns:~# chmod 644 /var/www/uploads/.htaccess

鎖密碼網頁製作

假設有個資料夾,裡面的網頁具有機密性,只允許特定人員登入後才可觀看,這可以透過 .htaccess 的設定來協助達成。

確認 AllowOverride 參數

如上文所言,要啟用 .htaccess 之前,要先確認 /etc/apache2/sites-available/default 之 AllowOverride 參數是否為 All 。

建立 .htaccess

假設 http://your.host.name/topsecu/ 這個網址是要帳號密碼認證,那麼其在主機的實體位置為 /var/www/topsecu ,因此,必須在此處建立 .htaccess ,其內容示例如下。

    * root@dns:~# vi /var/www/topsecu/.htaccess

AuthName "TopSecu"
AuthUserFile /var/passwords/topsecu.pwd
AuthType Basic
Require valid-user

    * AuthName 站名
    * AuthUserFile 密碼檔
    * AuthType Basic 基本型式授權(不必分組)
    * Require valid-user 要有帳號

建立密碼檔

    * 第一次建立
      root@dns:~# mkdir /var/passwords
      root@dns:~# htpasswd –c /var/passwords/topsecu.pwd username
    * 「-c」是供第一次建立用,若只是修改密碼或新增第二組帳號密碼,就不必再加此參數。
    * 經過上述動作,會建立一組帳號為 username 的認證

網頁程式 PHP
基本設定

Apache2 是網頁伺服器,PHP5網頁語言是以 Apache2 模組的形式存在。因此,若有任何設定變更,只要重新啟動 Apache2 即可。

    * 設定檔: /etc/php5/apache2/php.ini

PHP5 模組管理

PHP5 的模組安裝/移除與 Apache2 做法一樣,皆是透過 Debian 的 DEB 套件庫來處理,舉例如下:

    * 模組搜尋
      root@dns:~# apt-cache search php5
    * 模組安裝
      root@dns:~# apt-get install php5-imagick
    * 模組移除
      root@dns:~# apt-get remove php5-imagick
    * 模組異動後,套用設定
      root@dns:~# service apache2 restart

加大檔案上傳限制

PHP 預設檔案上傳限制為 2MB ,這對學校來說常常不夠用,不過我們可以透過 php.ini 的修改,來加大上傳限制。不過這裡的上傳限制與使用者網路空間限制(Quota)的意義不同,這裡是指用 PHP 寫的網站,若有上傳介面(如 SFS3, XOOPS…),無論是圖片或檔案之上傳限制。

    * 修改 /etc/php5/apahce2/php.ini ,修改下列三個參數
      root@dns:~#: vi /etc/php5/apache2/php.ini

;記憶體限制
memory_limit = 128M
;PHP 表單 POST 限制
post_max_size = 72M
;檔案大小限制
upload_max_filesize = 64M

其他設定

以下兩者皆已是預設值,不過仍提出以供參考

    * 注意 php.ini 內的 utf-8 或 big5 編碼問題

;default_charset = "iso-8859-1"

註:加「;」變成註解,才可以讓 php 頁面自訂語系

    * 若 php 程式要重送 header (ex.強迫轉址),請注意

output_buffering = 4096

加速 PHP 執行

    * Linux t1~t3 可以使用 APC 加速 PHP 執行

   1. root@dns:~# apt-get update
   2. root@dns:~# apt-get install php-pear
   3. root@dns:~# apt-get install php5-dev apache2-prefork-dev build-essential
   4. root@dns:~# pecl install apc
      出現 Use apxs tset compile flags (if using APC with Apache)? [yes] : 時,按「Enter」繼續
   5. 編輯 /etc/php5/apache2/php.ini ,加上
      extension=apc.so
   6. 重新啟動 Apache2
      root@dns:~# service apache2 restart

    * Linux e1~sqz 可以使用 Xcache 加速 PHP 執行
          xcache 簡介:它是 PHP 運算碼(opcode)快取器
          安裝
            root@dns:~# apt-get install php5-xcache
          重新啟動 Apache2
            root@dns:~# service apache2 restart

資料庫 MySQL

Linux 上自由軟體授權的資料庫目前有兩大勢力,一是 MySQL 另一是 PostgreSQL ,Linux 上預載的是 MySQL ,因此我們只針對 MySQL 進行簡易說明。

    * 重要中文參考文件,MySQL 5.1 中文手冊:http://twpug.net/docs/mysql-5.1/

基本觀念(必讀)

    * 主設定: /etc/mysql/my.cnf
    * 開啟埠
          對外:TCP 3306
          對本機:不必開通訊埠
          註:若 PHP 程式碼與 MySQL Server 位於同一台機器,可以把 3306 埠關閉
    * 記錄檔: /var/log/mysql.log
    * 系統資料庫: /var/lib/mysql/mysql
          各 MySQL 版本的系統資料庫格式不一樣,若錯用會導致資料庫無法啟動
          若此一資料庫被誤刪,可用 mysql_install_db 指令建立
    * 資料庫位置: /var/lib/mysql
    * 資料庫解說
          在 /var/lib/mysql 內每個資料夾皆是一組資料庫
          資料夾及其檔案之擁有者為 mysql.mysql
          資料夾內同名字之三個檔案組成一個資料表
            *.frm –> 欄位定義
            *.MYD –> 實體資料
            *.MYI –> 資料索引

MySQL 管理
MySQL系統管理

    * 關於 MySQL 管理幾個基本觀念
          MySQL 有自己的帳號密碼
          MySQL 最高權限帳號與 Linux 一樣是 root ,但密碼不同(除非設成一樣)
          MySQL 的帳號密碼是給網頁程式碼(ex. php)連線用,使用者使用的機會,只僅限 phpmyadmin 連線時才會需要
          Linux 上所設定的管理密碼(Linux-csetup-utf8)就是 MySQL 的 root 密碼

    * 啟動/關閉/重新啟動
      root@dns:~# service mysql start|stop|restart

    * 初始化系統資料庫
      root@dns:~# mysql_install_db
      註:本功能僅限 /var/lib/mysql/mysql 已被誤刪的情況下才可以使用

    * 初設 MySQL root 密碼
      root@dns:~# mysqladmin -u root -p password
      註1:輸入 Linux root 密碼後即才可繼續輸入 MySQL 密碼
      註2:Linux 本動作不必做,因為 Linux-csetup-utf8 己幫忙處理過了。

    * 修復資料表索引
      root@dns:~# mysqlcheck -u root -p -f 資料庫名 資料表名

忘記 MySQL 密碼

    * 方法一:執行 Linux-csetup-utf8,重設管理密碼
      注意:它除了會幫您重設密碼外,也會額外重設許多設定,因此不太建議使用此方法。
    * 方法二:直接使用 MySQL 工具重設

   1. 停止 MySQL
      root@dns:~# service mysql stop
   2. 建立 /root/newpwd.txt
      root@dns:~# vi /root/newpwd.txt

      SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');

   3. 啟動 MySQL
      root@dns:~# mysqld_safe –init-file=/root/newpwd.txt &
   4. 關閉 MySQL
      root@dns:~# service mysql stop
   5. 刪除 newpwd.txt
      root@dns:~# rm -rf /root/newpwd.txt
   6. 啟動 MySQL
      root@dns:~# service mysql start
      註:重新啟動後 MySQL root 密碼已被重設

資料庫管理

整個資料庫管理,建議使用 phpmyadmin 網頁工具,簡介如下:

    * phpmyadmin 安裝
      root@dns:~# apt-get update
      root@dns:~# apt-get install phpmyadmin
      註:大多數的 Linux 多已安裝此套件

    * phpmyadmin 使用:直接使用網頁瀏覽器,連結至 phpmyadmin 網站即可
      舉例:http://your.host.name/phpmyadmin
      連線後,以 MySQL 的帳號密碼進入
          只有用 root 登入,才會有全部功能
          可以透過 GRANT 語法,建立特定帳號,而它只能掌控單一資料庫(詳見本文:建立虛擬站台段落)

    * 資料庫搬家
          Linux 系列 Server 之 MySQL 資料庫皆在 /var/lib/mysql
          只要下指令把 /var/lib/mysql 底下之資料庫(夾)複製至新主機相同之位置,並修改權限擁有者為 mysql 即可完成搬移任務。以 sfs3 資料庫為例,做法如下:
         1. 複製
            root@dns:~# scp root@your.old.host:/var/lib/mysql/sfs3 /var/lib/mysql
         2. 修改擁有者
            root@dns:~# chown -R mysql.mysql /var/lib/mysql/sfs3

About

發佈留言