Linux伺服器 Linux伺服器

伺服器建置實務上課教材

伺服器建置實務 > 課程內容 > 第 11 堂課 - 網頁伺服器 (Apache server) part3

第 11 堂課 - 網頁伺服器 (Apache server) part3

上次更新日期 2019/01/10

現在讓我們來處理動態 WWW 伺服器吧!包括可以處理自動架站機的任務等等。另外,這個章節可以搭配本系『資料庫實務』課程的內容, 讓你的 SQL Server 可以在 WWW 伺服器上面實際運作!方便你未來自己搭建資料庫系統,預先對你的專題課進行理解!

  • 11.1: 動態 WWW 網站的建置
  • 11.2: Mariadb 資料庫與資料庫用戶建置
  • 11.3: PHP 討論區架站練習
  • 11.4: 建立一個小型的資料庫系統

11.1: 動態 WWW 網站的建置

第九堂課談到動態網站就是 LAMP,亦即 Linux + Apache + Mariadb + PHP,前兩個我們大概安裝妥當了,接下來處理其他兩個軟體! 好讓我們的 Apache 伺服器變成正確可運作的動態 WWW 網站吧!

一般來說,Mariadb + PHP 需要的軟體還有 mariadb, mariadb-server, php, php-mysql,此外,資料庫是獨立於 WWW 伺服器之外的,因此也需要自行安裝與處理。

  • 處理 Mariadb 資料庫的行為

資料庫軟體是個提供使用者建立資料庫的界面,我們 CentOS 最常使用的就是 Mariadb 以及 PostgreSQL 這兩個東西, 其中又以 Mariadb 比較常見!這個資料庫軟體是多人共用的,因此也需要帳號來管理~所以, Maraidb 有個內建的資料庫軟體使用帳號, 這個帳號與 Linux 帳號無關~單純就是 Mariadb 自己的帳號!

基本上,Mariadb 建立完畢後,會有個沒密碼的 root 管理員,你應該要知道,root 沒有密碼保護這是多可怕的事情! 所以,我們當然需要做點設定才好:

完成底下的練習:
  1. 先啟動 httpd,啟動完畢後,不要再重新啟動,等待下一題再重啟。
  2. 請安裝 mariadb, mariadb-server, php, php-mysql 等軟體 (尤其是 php-mysql !很重要)
  3. 啟動 mariadb 服務,啟動完畢後觀察是否啟動埠口?觀察是否有開機啟動?(軟體名 mysql)
  4. 使用 mysql -u root 來嘗試無密碼登入資料庫看看:
    • 使用『 show databases; 』查看所有資料庫
    • 使用『 use mysql; 』切換到 mysql 資料庫
    • 使用『 show tables; 』查看這個資料庫所含有的資料表
    • 使用『 describe user; 』來查看這個資料表內的各個資料欄位
    • 使用『 select * from user; 』來顯示所有的資料內容
    • 使用『 select * from user where Host = 'localhost'; 』來規範條件
    • 最終使用『 exit 』來離開資料庫。
  5. 由於預設 mariadb 沒有設定 root 密碼,因此執行 mysql_secure_installation 依序完成安全強化作業 (設定 root 密碼為 2727175 看看,其他幾乎均按下 enter 即可!)
  6. 分別使用『 mysql -u root [-p] 』來嘗試無密碼、有密碼的登入行為。
  • PHP 網頁程式語言的支援與運作

PHP 是嵌入於 apache 的一個模組,所以,如果修改了任何 php 的資訊,一定要重新啟動 httpd 才行。我們來嘗試看看沒有重新啟動 apache 時,會有什麼後果吧!

完成底下的練習:
  1. 在尚未重新啟動 httpd 前,請先前往 /var/www/html 建置名為 phptest.php 的檔案,檔案內容如下:
    [root@localhost ~]# vim /var/www/html/phptest.php
    <?php
            phpinfo();
    ?>
    
  2. 使用瀏覽器瀏覽 http://localhost/phptest.php ,看看能否看到實際的資料展示?
  3. 重新啟動 httpd,然後重新觀察上面的網址,看看出現什麼變化?
  4. 重新編輯 phptest.php ,隨便加上幾個字,例如加入莫名其妙的『 hehe 』在 phpinfo() 之前,儲存之後再次以瀏覽器觀察 phptest.php 的內容。
  5. 此時請前往 /var/log/httpd 觀察 error_log 的內容 (看最後面幾行資料),確認問題的所在。
  6. 確認修改完畢後,再次觀察上述網址。

事實上,上面這個練習相當相當重要!未來你的網站出現任何錯誤時,尤其是因為 PHP 的語法錯誤所導致的情況下, 看 error_log 就可以知道問題的發生點喔!所以才說,這個練習相當重要!

11.2: Mariadb 資料庫與資料庫用戶建置

其實資料庫也是可以多人共用的環境!而資料庫的管理員就是 root 。目前我們已經設定好 Mariadb 的 root 管理員帳號,不過,一般使用資料庫時,不建議使用 root,否則萬一網頁被綁架就會很麻煩。因此,通常我們會建議你建立一個一般帳號來提供用戶連接資料庫。 假設你要建立的資料庫資訊如下:

  • 資料庫: dicdb
  • 主機名稱: localhost
  • 帳號: dicuser
  • 密碼: dicpass

使用的指令行為會有點像這樣:

[root@localhost ~]# mysql -u root -p
Enter password:

MariaDB [(none)]> create database dicdb;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on dicdb.* to dicuser@localhost identified by 'dicpass' ;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> use mysql;

MariaDB [(mysql)]> select * from user where user = 'dicuser';

MariaDB [(mysql)]> exit

上面的指令在建立資料庫 (dicdb) ,透過 grant 那一行,同時將 dicdb 的資料庫使用權交給 dicuser 這個帳號,並同步設定好這個帳號的密碼! 最後一個 select 的指令,在查詢是否正確的設定好使用者帳號而已。

  • 修改 PHP 上傳限制

另外,一般 PHP 的上傳最大檔案預設只有 2MB 而已,如果你有要放行比較大的檔案上傳,就需要修改 PHP 的設定。設定的方法如下:

[root@localhost ~]# vim /etc/php.ini
upload_max_filesize = 16M

[root@localhost ~]# systemctl restart httpd

這樣就可以讓你的 PHP 資料傳輸,可以到達 16M 的程度,至少小檔案傳輸是沒問題的了。

11.3: PHP 討論區架站練習

很多所謂的架站機大多使用 PHP 網頁程式語言,搭配資料庫系統,就能夠提供中型企業所需要的入口網站!包括 wordpress, Xoops, phpBB 等。 這些架站機與社群網站不同的地方,在於易於查詢,有相關的模組可以搭配使用!

要架設這些簡易的架站機你的系統就必須要是動態網頁伺服器才行。我們在上面的練習過程中已經取得了正確的參數, 因此將可以用來作為架站機的基礎資料庫設定。

phpBB 是透過 PHP 搭配資料庫系統所建置的一套討論區軟體,在社群網站尚未流行前,是一個相當熱門的討論區自由軟體。 這個軟體也有中文化喔!官方網站與台灣支援網站如下:

因為 phpBB 是一個用 PHP 與資料庫軟體撰寫的套裝軟體啊,所以你得要下載這個軟體包才行。此外,因為 phpBB 支援多國語系,但預設為英文語系, 所以,你也得要下載語言包才行。官網的下載點如下:

完成底下的練習:
  1. 全班請推派一人進行網際網路下載 (只要一人,不要多!),假設名稱為 Z 同學。
  2. 請 Z 同學下載完畢後,自行放置到 FTP 可下載的位址 (注意,提供的是匿名下載的功能喔!)
  3. 請全部同學到 Z 同學提供的 IP 位址去下載這兩個資料即可。

假設未來我們想要的網址為 http://你的主機名稱/phpbb ,因此應該要將下載的檔案放置於 /var/www/html/phpbb 目錄才行。 假設下載的檔案放置在 /root 處,請依序進行底下的任務即可:

# su -
# cd /var/www/html
# tar -jxvf /root/phpBB-3.X.Y.tar.bz2 (X, Y 為版本名)
# ll 
drwxr-xr-x. 19 student student 4096 10月 13 00:45 phpBB3  (大寫,請改小寫)

# mv phpBB3 phpbb
# ll
drwxr-xr-x. 19 student student 4096 10月 13 00:45 phpbb (就是改檔名)

然後開始中文化的軟體包處理!

# cd /dev/shm
# # 底下的指令,請務必使用 <tab> 按鈕來達成,不要硬打字~會失敗的!要注意!
# unzip /root/mandarin_chinese_traditional_script_3_X_Y.zip
# mv mandarin_chinese_traditional_script_3_X_Y/language/zh_cmn_hant/ /var/www/html/phpbb/language/
# mv mandarin_chinese_traditional_script_3_X_Y/styles/prosilver/theme/zh_cmn_hant/ /var/www/html/phpbb/styles/prosilver/theme/
# mv mandarin_chinese_traditional_script_3_X_Y/ext/phpbb/viglink/language/zh_cmn_hant/ /var/www/html/phpbb/ext/phpbb/viglink/language/

接下來使用瀏覽器來進行後續的安裝即可,瀏覽器輸入: http://localhost/phpbb/ 來啟動!

  1. 先看左上方的『 Select language: 』位置,點選一下,選『正體中文』之後,按下 change 按鈕!
  2. 在看左側子導覽列,可以看看介紹、支援、授權等資料,隨便看看就好。
  3. 左上方兩個頁面標籤,選擇『安裝 (INSTALL)』,之後看到最下方有個『安裝』的小按鈕,按下去!
  4. 出現檢測的畫面,畫面中不能有任何錯誤的方塊 (紅色或黃色),如果有,就需要修改。大部分的修改都是目錄的權限錯誤而已, 不過,我們也需要額外的軟體支援,所以,瀏覽器保留不動,將終端機拉出來,開始進行底下的動作:
    # 1. 先安裝軟體,安裝完畢還需要重新啟動 httpd 才行!
    # yum install php-gd ImageMagick php-xml php-dom
    # systemctl restart httpd
    
    # 2. 修改權限,讓 httpd 可以讀寫底下這些基礎目錄
    # cd /var/www/html/phpbb
    # chmod 777 cache store files images/avatars/upload
    # chmod 666 config.php
    # ll -d cache store files images/avatars/upload config.php
    drwxrwxrwx. 2 student root 40 12月 20 03:16 cache
    -rw-rw-rw-. 1 student root  0 12月 20 04:32 config.php
    drwxrwxrwx. 2 student root 40 12月 20 03:16 files
    drwxrwxrwx. 2 student root 40 12月 20 03:16 images/avatars/upload
    drwxrwxrwx. 2 student root 40 12月 20 03:16 store
    <-看這裡->
    
    如果再次按下『 重新測試 (test again) 』沒問題就會通過測試!若持續有問題,就會出現錯誤訊息在瀏覽器上!
  5. 出現管理員設定畫面,幾個項目可以這樣選擇的:
    • 管理員帳號: 自己填自己喜歡的
    • 管理員email:填自己的 email
    • 管理員密碼: 填自己喜歡的
    • 管理員密碼: 填自己喜歡的
    搞定後按下『 送出 (Proceed to next step) 』
  6. 出現『 資料庫配置 』的選擇後,分別輸入底下的資料即可:
    • 資料庫類型 : 直接選擇『MySQL with MySQLi Extension』 即可
    • 資料庫主機名: localhost
    • 資料庫 port : 3306
    • 資料庫管理員: dicuser
    • 資料庫密碼欄: dicpass
    • 資料庫資料名: dicdb
    • 資料庫前導字: phpbb_
    搞定後按下『 送出 (Proceed to next step) 』
  7. 出現『 伺服器配置 』的頁面,都保留預設值,但是『網域名稱』請改寫一下,變成你主機對外的主機名稱, 例如『 server.linux.dic 』或『 pcXX.linux.dic 』之類的名稱喔!其他都不改,然後就按下『送出』
  8. 出現『電子郵件配置』的部份時,通常必須要使用 smtp 的 email, 因為你的本機並不是正確的 email server 才對!只是就得要填寫你的帳號與密碼了!有點困難~所以先不要設定,直接按下『送出』即可。
  9. 出現『討論區配置』時,選擇『正體中文』,然後討論區的名稱與討論區的簡介都隨便你填寫! 例如填寫『伺服器架設』與『伺服器設定測試中』之類的!未來可以再修訂!然後就送出了!
  10. 若一切順利,則資料庫會被主動的連接與建立!最後會出現『安裝程序已經成功完成』的字樣~然後點選『帶我去管理員控制台』的連結!
  11. 出現了『管理員控制台』的畫面,請在各頁籤之間切換觀察一下,包括一般、版面、發表、會員、權限、自訂等等, 大約查詢等待約數分鐘 (不會超過 5 分鐘),再次回到『一般』標籤頁面,就會看到警告視窗!告訴你有個目錄沒有移除, 有個檔案權限不對等等。因此,再次拉出終端機來處理:
    # chmod 444 /var/www/html/phpbb/config.php
    # rm -rf /var/www/html/phpbb/install/
    
    再次重新點選『一般』頁面,應該要發現沒有任何錯誤框框了才對!
  12. 再看右上方有個『討論區首頁』,點選他,就可以開始使用你的 PHPBB 討論區了!

這樣就完成了你的 PHP 討論區架設了!相當簡單。另外,請前往查詢 /var/www/html/phpbb/config.php 的內容, 那大概你就知道如何進行 SQL 的相關連線了!

11.4: 建立一個小型的資料庫系統

上面是直接透過一個資料庫界面,建立一個資料庫與一個管理帳號,然後就直接上 PHP 相關的套裝軟體,相當簡單的動作與行為。 但是未來系上是需要進行專題的!專題的內容就與上面的套裝軟體不一樣,我們可能得要直接自己上資料庫這樣。因此,底下提前做一個小型的資料庫系統, 協助大家來使用文字界面的方式,建立與管理一下資料庫相關的動作。

  • 建立一個獨立的資料庫、資料庫管理帳號密碼

假設你要建立底下的資料庫訊息:

  • 使用者資料庫名: userdb
  • 使用者帳號: username
  • 使用者密碼: userpw
  • 所需要的連線主機名稱 (預設都是 localhost 喔!)

參考 11.2 小節的作法,直接進行底下的任務:

[root@localhost ~]# mysql -u root -p

MariaDB [(none)]> create database userdb;

MariaDB [(none)]> grant all privileges on userdb.* to username@localhost identified by 'userpw' ;

MariaDB [(mysql)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dicdb              |
| mysql              |
| performance_schema |
| userdb             |  (就是這個新增的資料庫系統!)
+--------------------+
5 rows in set (0.00 sec)

MariaDB [(mysql)]> exit

這樣你就做好最基礎的資料庫練習的前提了!

  • 測試資料表的建立、資料欄位的建立、資料表的丟棄

現在假設你需要建立一個名為 mytest 的資料表,這個資料表裡面有個名為 name 的資料欄位,這個資料欄位累行為字元,且用了 10 個字元的長度。 處理的方案如下:

[root@localhost ~]# mysql -u username -p
Enter password: 

# 先查看你有的資料庫名稱
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| userdb             |
+--------------------+
2 rows in set (0.00 sec)

# 開始使用 userdb 這個資料庫!
MariaDB [(none)]> use userdb;
Database changed

# 建立名為 mytest 的資料表,且具有 name 這個欄位,累行為字元,長度為 10 
MariaDB [userdb]> create table mytest ( name character(10) );
Query OK, 0 rows affected (0.00 sec)

# 查看這個資料庫內含有的資料表
MariaDB [userdb]> show tables;
+------------------+
| Tables_in_userdb |
+------------------+
| mytest           |
+------------------+
1 row in set (0.00 sec)

# 觀察 mytest 這個資料表內的欄位資訊
MariaDB [userdb]> describe mytest;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| name  | char(10) | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
1 row in set (0.00 sec)

# 將整個資料表丟棄!要注意!這個是測試的資料表,所以被我們捨棄的意思!
MariaDB [userdb]> drop table mytest;
Query OK, 0 rows affected (0.00 sec)

# 確認,確實沒有資料表了!
MariaDB [userdb]> show tables;
Empty set (0.00 sec)

MariaDB [userdb]> exit

大致上建立資料表與資料表欄位內容就是上面這樣的資訊~現在,你也知道建立資料庫連同資料表的大致語法是:

create table 表格名 (
	欄位名  資料類型 (長度),
	欄位名  資料類型 (長度),
	欄位名  資料類型 (長度),
	...
	primary key (欄位名)
);

詳細的資訊請參考各資料庫課程。本案例中,想要建立一個會員資料表,表格名稱為 userinfo,至於內容是這樣的:(假設會員資料表的表格名稱為 userinfo)

  • 使用者代碼: uid int,自動增加,且不可以為空,且為主鍵
  • 登入帳號: login_name character(40) ,假設僅允許英文與數字,且不可為空
  • 登入密碼: login_pass character(64),假設使用 sha256 [hash('sha256',$pw)] 所需要的長度,且不可為空
  • 真實姓名: realname character(40),不可為空
  • 電子郵件: u_email varchar(100),可以為空值
  • 生日: u_bday date,不可為空值
  • 性別: u_sex tinyint,只有 0 與 1,0 為女性 1 為男性,不可以為空值
  • 啟動: u_active tinyint,只有 0 與 1,0 為尚未開啟,1 為已經啟動,預設為 0
  • 註冊日期: u_regd timestamp(8),預設為當日數值

建立的語法是這樣:

[root@localhost ~]# mysql -u username -p
Enter password:

MariaDB [(none)]> use userdb;
Database changed

MariaDB [userdb]> create table `userinfo` (
    ->  `uid` int auto_increment not null,
    ->  `login_name` varchar(40) not null,
    ->    `login_pass` varchar(64) not null,
    ->    `realname` varchar(40) not null,
    ->    `u_email` varchar(100) null,
    ->    `u_bday` date not null,
    ->    `u_sex` tinyint not null default 0,
    ->    `u_active` tinyint not null default 0,
    ->    `u_regd` timestamp(6) not null,
    ->    primary key (uid)
    ->    ) character set utf8 collate utf8_unicode_ci ;
Query OK, 0 rows affected (0.00 sec)

MariaDB [userdb]> show tables;
+------------------+
| Tables_in_userdb |
+------------------+
| userinfo         |
+------------------+
1 row in set (0.00 sec)

MariaDB [userdb]> describe userinfo;
+------------+--------------+------+-----+-------------------+-----------------------------+
| Field      | Type         | Null | Key | Default           | Extra                       |
+------------+--------------+------+-----+-------------------+-----------------------------+
| uid        | int(11)      | NO   | PRI | NULL              | auto_increment              |
| login_name | varchar(40)  | NO   |     | NULL              |                             |
| login_pass | varchar(64)  | NO   |     | NULL              |                             |
| realname   | varchar(40)  | NO   |     | NULL              |                             |
| u_email    | varchar(100) | YES  |     | NULL              |                             |
| u_bday     | date         | NO   |     | NULL              |                             |
| u_sex      | tinyint(4)   | NO   |     | 0                 |                             |
| u_active   | tinyint(4)   | NO   |     | 0                 |                             |
| u_regd     | timestamp(6) | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+------------+--------------+------+-----+-------------------+-----------------------------+
9 rows in set (0.00 sec)

這樣就建立好資料表與資料表欄位。現在,嘗試填入一些資訊吧!

MariaDB [userdb]> insert into userinfo (login_name,login_pass,realname,u_bday,u_sex) values ('axxxcyyy','1234','melody','200101',1);
MariaDB [userdb]> insert into userinfo (login_name,login_pass,realname,u_bday,u_sex) values ('axxxcyy2','2234','amanda','200301',2);
MariaDB [userdb]> insert into userinfo (login_name,login_pass,realname,u_bday,u_sex) values ('axxxcyy3','3234','niki','200303',3);

透過手動的方式,塞了三筆資料進去資料庫內!現在,來檢查一下能不能將資料顯示出來!?

MariaDB [userdb]> select * from userinfo;
+-----+------------+------------+----------+---------+------------+-------+----------+----------------------------+
| uid | login_name | login_pass | realname | u_email | u_bday     | u_sex | u_active | u_regd                     |
+-----+------------+------------+----------+---------+------------+-------+----------+----------------------------+
|   1 | axxxcyyy   | 1234       | melody   | NULL    | 2020-01-01 |     1 |        0 | 2019-01-10 18:59:47.603286 |
|   2 | axxxcyy2   | 2234       | amanda   | NULL    | 2020-03-01 |     2 |        0 | 2019-01-10 19:00:10.314283 |
|   3 | axxxcyy3   | 3234       | niki     | NULL    | 2020-03-03 |     3 |        0 | 2019-01-10 19:00:28.227086 |
+-----+------------+------------+----------+---------+------------+-------+----------+----------------------------+
3 rows in set (0.00 sec)

MariaDB [userdb]> exit

這樣,你的資料庫假裝已經建立好囉!

  • 透過 PHP 方法,連結到資料庫

現在,開始使用 PHP 來將資料整個秀出來看一下!使用的方法簡單如下處理:

  1. 先建立 /var/www/html/functions.php 檔案,內容有點像這樣:
    [root@localhost ~]# vim /var/www/html/functions.php
    <?php
            $db_link = mysql_connect('localhost', 'username', 'userpw');
    
            if ( ! $db_link ) {
                    echo "資料連結失敗了!\n";
                    die;
            }
    
            $db_sel = mysql_select_db ('userdb', $db_link);
            if ( ! $db_sel ) {
                    echo "資料庫選取失敗了!\n";
                    die;
            }
    ?>
    
  2. 使用瀏覽器瀏覽 http://localhost/functions.php ,如果出現一片空白,那應該就是 OK 了! 如果出現資料庫連結失敗,那就需要注意了!
  3. 建立使用者資料匯出的網頁,檔名設定為 userlist.php 好了,內容有點像這樣:
    [root@localhost ~]# vim /var/www/html/userlist.php
    <?php include ('functions.php'); ?>
    <!doctype html>
    <html>
    <head>
            <meta charset='utf-8' />
    </head>
    <body>
    <?php
            $result = mysql_query ('select uid, login_name, realname, u_email, u_bday, u_sex, u_regd, u_active from userinfo', $db_link );
    
            $db_line = mysql_num_rows($result);
            echo "總資料數:" . $db_line ;
            echo "<br /><br />";
    
            while ( $row = mysql_fetch_row($result) ) {
                    for ( $i=0; $i<count($row); $i++ ) {
                            echo $row[$i] . ", ";
                    }
                    echo "<br />";
            }
    ?>
    </body>
    </html>
    
  4. 請到瀏覽器上,輸入 http://localhost/userlist.php ,應該就可以看到成果了:

我們已經手工打造出一個資料庫、資料表、PHP 連結網頁了!未來上面那個 mysql_query 一直重複應用,就會得到你的資料了!

  • 資料庫備份的功能

上面的動作都是先在指令列上面完成的!那,有沒有可能將這些東西『備份』下來呢?可以的!可以將資料庫內容備份成為文字檔! 方法也是很簡單!

[root@localhost ~]# mysqldump -u username -p userdb > userdb.database
Enter password:

[root@localhost ~]# ll userdb.database
-rw-r--r--. 1 root root 2586  1月 10 19:25 userdb.database

[root@localhost ~]# cat userdb.database  | grep -v '^/' | grep -v '^-' | grep -v '^$'
DROP TABLE IF EXISTS `userinfo`;
CREATE TABLE `userinfo` (
  `uid` int(11) NOT NULL AUTO_INCREMENT,
  `login_name` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
  `login_pass` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
  `realname` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
  `u_email` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
  `u_bday` date NOT NULL,
  `u_sex` tinyint(4) NOT NULL DEFAULT '0',
  `u_active` tinyint(4) NOT NULL DEFAULT '0',
  `u_regd` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
LOCK TABLES `userinfo` WRITE;
INSERT INTO `userinfo` VALUES (1,'axxxcyyy','1234','melody',NULL,'2020-01-01',1,0,'2019-01-10 10:59:47.603286'),
(2,'axxxcyy2','2234','amanda',NULL,'2020-03-01',2,0,'2019-01-10 11:00:10.314283'),
(3,'axxxcyy3','3234','niki',NULL,'2020-03-03',3,0,'2019-01-10 11:00:28.227086');
UNLOCK TABLES;

未來要復原就方便得很了!