本章節將會教您如何在虛擬機(Ubuntu)內,架設一個屬於自己的免費資料庫,並且利用DBeaver進行資料的基本操作與瀏覽。
安裝MySQL
請透過ssh連接到您的虛擬機上,並且輸入下列指令:
(安裝Mysql伺服器與客戶端的套件)
1 | $ sudo apt-get install mysql-server |
若安裝完成後可輸入下列指令,查看MySQL是否安裝成功,若在成功的前提下應可看到下圖。
1 | sudo netstat -tap | grep mysql |
允許 MySQL 被遠端訪問
此處設定係方便Windows主機透過IP連接的方式,存取虛擬機中的MySQL資料庫,因此要設定MySQL 允許被遠端訪問。該操作需要透過文字編輯器針對config設定檔進行修改,因此先岔個提,介紹一下Vim。
Vim基本介紹與操作
Vim類似windows中的txt編輯器。Vim是由vi編輯器發展而來的一種文字編輯器,linux系統當中為相當常見的文字編輯器,在程式設計師中被大量使用(如同我們在python課時,使用vs code一樣),它強調手不用離開鍵盤就可以操作,提供一種沉靜式的開發環境。
首先輸入下列指令,安裝vim套件(記得要輸入Y)。
1 | sudo apt-get install vim |
我們先練習一下如何使用vim進行文字編輯,我們先移到根目錄,並創建一個名為code的資料夾。
在圖中我們可以看到code資料夾。
1 | $ cd / #移至根目錄 |
確定有建立code資料夾後,我們移至code 資料夾中,建立一個.py檔試試看。
1 | $ cd code |
重頭戲來了,當打完上面的指令後應該會看到一片漆黑,如圖。
此時我們輸入i,畫面就會有所變化,此時我們就可以開始針對這個py檔進行編輯。
此時再輸入一串python的hello world
1 | print('hello world! Vim') |
輸入完成後,按下Esc鍵(鍵盤左上方那顆),再輸入:wq進行存檔。
存檔完成後terminal會移至code資料夾中,我們再輸入下列指令執行python腳本,若正常情況下應該可以看到console中顯示「hello world! Vim」的字樣。
1 | $ ls |
回到主題 允許 MySQL 被遠端訪問 (你的實體電腦)
1.修改 mysql.cnf
我們先移至到/etc/mysql/mysql.conf.d資料夾中,並且利用Vim將mysqld.cnf進行修改。進入之後我們要將bind-addres = 127.0.0.1 的部分註解起來(前面打#字),完成後一樣輸入:wq退出Vim。
1 | $ cd /etc/mysql/mysql.conf.d |
2.查看MySQL目前運行狀態與查看MySQL的帳密
輸入下列指令,查看目前MySQL服務是否正在運行?
1 | $ sudo service mysql status |
若是沒有正在執行,請再輸入下列指令,使MySQL資料庫重啟:
1 | $ sudo service mysql restart |
3.登入MySQL新增使用者帳號
接下來我們要進入MySQL建立新的使用者帳號,基於安全性的原因,故而不是使用root對外進行開放。
1 | $ sudo mysql #進入MySQL |
若成功進入的話,應該可以看到下圖:
接下來我們輸入下列指令,username是您想要設定的使用者名稱,password是此使用者帳號的密碼。
設置完成後我們再輸入exit退出MySQL。
1 | CREATE USER 'username'@'%' IDENTIFIED BY 'password'; --新增使用者 |
防火牆設定
MySQL預設的通訊埠 (英文為PORT)為3306,我們要設定防火牆開放port 3306供外部網路進行存取,請輸入下列指令。
1 | $ sudo apt-get install ufw #安裝防火牆 |
下載資料庫管理工具(DBeaver)
老達在這邊推薦一款超好用的資料庫管理工具「DBeaver」,它的強大之處在於可以透過一套管理工具,連接多種不同類型的資料庫(如常見的Oracle、SQL Server、MySQL、SQLite等等)。首先我們先至DBeaver官方網站下載安裝檔,如果我們是用Windows系統的話,請點選紅框處進行下載。
DBeaver MySQL設定
DBeaver的安裝流程老達就不詳細操作了,基本是無腦安裝。安裝完成後應該可以看到乾乾淨淨的操作頁面。點選左上角紅框處新建虛擬機MySQL的連接。
在紅框處輸入mysql並按下enter搜尋,點選中間的MySQL+進行設定。
接下來輸入虛擬機ip,我們可以發現DBeaver預設已經代port 3306了,所以我們就不進行修改。並輸入我們剛剛設定的使用者名稱與密碼,並且設定Server Time Zone為Asia/Taipei,設定好後按下右下角的Test Connection…。
如果沒有看到上面的成功連接畫面,並且出現
Public Key Retrieval is not allowed.的錯誤字串時,請至裝置屬性的設定頁面將allowPublicKeyRetrieval設定為True,調整完成後再測試看看是否可以連接。
下篇會分享如何將PTX資料匯入資料庫中,透過SQL指令進行處理與分析。