2018年6月24日 星期日

從頭開始,一步一步架起低成本網站【第2章~架設OpenSource資料庫平台Mariadb及UTF8】


MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社群在維護,採用GPL授權授權。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社群採用分支的方式來避開這個風險

安裝Mariadb


sudo apt-get install mariadb-server






升級Mariadb


如果Mariadb版本小於10.2.14則須進行Maraidb升級

檢查目前Mariadb版本

mysql --version



建立資料庫的來源


sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.ubuntu-tw.org/mirror/mariadb/repo/10.2/ubuntu xenial main'

sudo apt update
sudo apt install mariadb-server

最後檢查版本是否已經更新


mysql --version


可參考以下連結內容來更新最新版本

















https://downloads.mariadb.org/mariadb/repositories/#mirror=ossplanet&amp%3Bdistro=Ubuntu&amp%3Bdistro_release=xenial--ubuntu_xenial&amp%3Bversion=10.2&distro=Ubuntu&distro_release=xenial--ubuntu_xenial&version=10.3




轉移資料庫

【登入Mariadb並建立資料庫】


mysql –u root -p
create database [example]


【建立登入帳號並給予資料庫權限】


create user [example_user] identified by ‘[example_password]’
grant all on [example].* to [example_user]


【檢查[example_user]的權限】


show grants for [example_user]


【轉移資料庫】


匯出資料庫(如果無法建立,請檢查所存放的資料夾權限)


mysqldump –u root –p [root_password]  [example] > [example.sql]


還原資料庫


mysql –u root –p [root_password] [example] < [example.sql]



建立資料庫預設採用utf-8編碼


修改 /etc/mysql/my.cnf


sudo vim /etc/mysql/my.cnf


在[mysqld]中加上以下內容


[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci


重啟mariadb


service mysql restart


最後確認是否使用utf8


mysqladmin -u root -p var | grep -E 'character|collation' | tr -s ' '

| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |




或是

mysql -u root -p [root_password]
status;
















【變更現有DATABASE支援UTF8】


ALTER DATABASE 【databasename】 CHARACTER SET utf8 COLLATE utf8_general_ci;



【變更現有TABLE支援UTF8】


先查詢TABLE欄位的語系


SHOW FULL COLUMNS FROM [TABLE_NAME];


更成UTF8

ALTER TABLE 【TABLE_NAME】 CONVERT TO CHARACTER SET utf8;


最後再確認一下即可


【修改欄位描述說明】


如果習慣在MS SQL中寫欄位說明的,可以使用以下語法在Mariadb中加上說明


ALTER TABLE [table_name] MODIFY  [column_name] [column_type]  COMMENT '[column_description]'
例:ALTER TABLE EXAMPLE MODIFY NAME VARCHAR(20) COMMENT '使用者名稱'
最後再確認一下


SHOW FULL COLUMNS FROM EXAMPLE





=================================================

註.括符[]中的代表要修改成你的參數,例:[example]代表YourParameter

沒有留言:

張貼留言

熱門文章