iT邦幫忙

DAY 19
3

Linux Pi的奇幻旅程系列 第 16

Linux Pi的奇幻旅程(19)-MySQL

  • 分享至 

  • xImage
  •  

MySQL和PostgreSQL一直是廣受使用的開放原始碼資料庫管理系統. 原昇陽公司對保持MySQL的原創性是不留餘力的, 然而, 在Oracle購併昇陽後的初期, MySQL的獨立性受到了質疑, 因此部份MySQL的原始開發團隊離開了Oracle, 分支了MySQL, 成了MariaDB(https://mariadb.org/), 而Percona(http://www.percona.com/)從2006年開始提供MySQL的企業級支援, Percona的MySQL也是我一直使用的MySQL分支.

上一篇: Linux Pi的奇幻旅程(18)-Node.js
http://ithelp.ithome.com.tw/question/10136169
下一篇: Linux Pi的奇幻旅程(20)-MySQL管理
http://ithelp.ithome.com.tw/question/10136877
全部: http://ithelp.ithome.com.tw/ironman6/player/bizpro/alll/1
我用Percona MySQL很久了, 在Raspberry Pi也可以跑Percona或MariaDB, 這是另外一套Linux發行版Arch Linux(https://www.archlinux.org/)特別為Raspberry Pi編譯的, 只是我所使用的Linux發行版-Raspbian尚未支援MariaDB和Percona的MySQL版本, 那就使用Oracle的MySQL吧.

首先, 更新系統:
$ sudo apt-get update
$ sudo apt-get upgrade

紀錄一下記憶體使用狀態:

開始安裝MySQL, 我們都已經知道, 在Linux上安裝程式太簡單了, 在Raspbian:
pi@raspberrypi ~ $ sudo apt-get install mysql-server-5.5
總共有90.7MB的套件要安裝:

安裝的過程中, 會要求設定MySQL帳號root的密碼, 這不是Linux系統管理者root的密碼.


設定好密碼之後, 沒多久, MySQL就在Raspberry Pi上啟動了, 如下圖:

圖中圈起來的數字5549是MySQL程序(Process)的ID, 也就是PID, 請注意, 參數--pid-file=/var/run/mysqld/mysqld.pid指向一個pid檔案/var/run/mysqld/mysqld.pid, 這個檔案的內容就是5549:

這是Linux用來控制程序執行的方法, 在啟動腳本中就會以這類型的pid檔來判斷一個程序的狀態.

就這樣了, 這是安裝MySQL的簡單過程. 檢查啟動MySQL的記憶體狀態:

看起來Raspberry Pi運行MySQL不是問題. 不僅沒有問題, 我將繼續在Raspberry Pi上跑網站內容管理系統(Web Content Management System, WCM), 當然, 會先使用之前安裝的node.js.

在安裝WCM之前, 先談談MySQL的管理. 在安裝mysql-server-5.5時, 也一併安裝了mysql-client-5.5等套件. 這是我通常用來管理MySQL的程式. 是的, 那是文字界面. 有許多人習慣用PHPMyAdmin(http://www.phpmyadmin.net/)來管理, 這是一套很好用的MySQL管理程式, 但我從來沒用過. 尤其是在Raspberry Pi這麼小型的電腦中還要佔用有限的系統資源來"管理"MySQL, 這是很不合理的, 因此, 就用文字界面的管理程式吧.

首先, 輸入以下的指令:
pi@raspberrypi ~ $ mysql -u root -p
輸入後會被要求之前設定的使用者root的密碼, 如下圖:

進入了管理提示mysql> , 先檢視有什麼資料庫:
mysql> show databases;

圖中顯示有四個資料庫:
information_schema
mysql
performance_schema
test

資料庫mysql是最重要的, 紀錄了系統的設定, 我們可以進入資料庫mysql來看看, 也就是要使用資料庫mysql:
mysql> use mysql;

進入了資料庫mysql之後, 檢視(show)看看有什麼資料表:
mysql> show tables;

這些資料表中還有效能參數, 管理參數, 更包含使用者資料, 也就是資料表user, 就來描述(describe, desc)這個資料表吧:
mysql> desc user;

資料表user有42個欄位, 上圖只顯示部份欄位, 要注意的是紅色框中的三個欄位:

這三個欄位Host,user,password就是MySQL的使用者資訊. 請注意, MySQL的使用者是由
'user'@'host'組成, 例如, 'root'@'localhost'才是真實的使用者帳號.


上一篇
Linux Pi的奇幻旅程(18)-Node.js
下一篇
Linux Pi的奇幻旅程(20)-MySQL管理
系列文
Linux Pi的奇幻旅程27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言