1. 程式人生 > >Fedora安裝Mariadb資料庫

Fedora安裝Mariadb資料庫

據說mariaDB是fedora的預設資料庫,但是我用的ive安裝的fedora20似乎沒有找到資料庫的影子,新手新手。。。

所以寫個部落格記錄一下怎麼安的吧!

首先,我試了一下,直接在終端下 yum 安裝服務是不成功的,根本找不到。

所以,在此之前應該先添加個源:

1.新增yum源:

 

cd /etc/yum.repos.d/
gedit /etc/yum.repos.d/MariaDB.repo


在新建的檔案中寫入下面的程式碼,這個程式碼就是下載的源,在這個網址可以找到不同系統的源 http://www.tecmint.com/install-mariadb-in-linux/

 

 

<pre># MariaDB 5.5 Fedora repository list - created 2014-03-19 06:35 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/fedora20-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
 

 

 

2. 安裝資料庫

 

 

# yum remove MariaDB-server MariaDB-client
yum -y install MariaDB-server MariaDB-client


如果要刪除舊的資料庫可以使用remove, 引數 -y 是確認,不用提示。此處,安裝的是伺服器和客戶端,一般來說安裝這兩個就可以了。

 

3. 啟動資料庫

如果不用進行其他的操作,則現在就可以直接啟動資料庫,並進行測試了。

 

# 檢視mysql狀態;關閉資料庫
# service mysql status
# service mysql stop
# 啟動資料庫
service mysql start


4. 修改root密碼

 

mysqladmin -u root password 'root'  


 

因為安裝好以後的root密碼是空,所以需要設定; 如果是測試伺服器,那麼你可以直接使用root,不重要的密碼很多時候可以設定為和使用者名稱一致,以免忘記了又想不起來。

 

如果是重要的伺服器,請使用複雜密碼,例如郵箱,各種自由組合的規則的字元等。


5. 登入資料庫

 

 

mysql -u root -p


如果是本機,那可以直接使用上面的命令登入,當然,需要輸入密碼. 如果是其他機器,那麼可能需要如下的形式: 

 

mysql -h 127.0.0.1 -P 3306 -u root -p


6. 簡單SQL測試

 

>
-- 檢視MySQL的狀態
status;
-- 顯示支援的引擎
show engines;
-- 顯示所有資料庫
show databases;
-- 切換資料庫上下文,即設定當前會話的預設資料庫
use test;
-- 顯示本資料庫所有的表
show tables;
-- 建立一個表
CREATE TABLE t_test (
  id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  userId char(36),
  lastLoginTime timestamp,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 插入測試資料
insert into t_test(userId)
	values
('admin')
,('haha')
;

-- 簡單查詢
select * from t_test;
select id,userId from t_test  where userId='admin' ;


7.  修改資料存放目錄

mysql, MariaDB 的預設資料存放在 /var/lib/mysql/ 目錄下,如果不想放到此處,或者是想要程式和資料分離,或者是磁碟原因,需要切換到其他路徑,則可以通過修改 datadir系統變數來達成目的.

 

# 停止資料庫
service mysql stop

# 建立目錄,假設沒有的話
mkdir /usr/local/ieternal/mysql_data

# 拷貝預設資料庫到新的位置
# -a 命令是將檔案屬性一起拷貝,否則各種問題
cp -a /var/lib/mysql /usr/local/ieternal/mysql_data

# 備份原來的資料
cp -a /etc/my.cnf /etc/my.cnf_original

# 其實檢視 /etc/my.cnf 檔案可以發現
# MariaDB 的此檔案之中只有一個包含語句
# 所以需要修改的配置檔案為 /etc/my.cnf.d/server.cnf
cp /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf_original
vim /etc/my.cnf.d/server.cnf


然後 按 i 進入編輯模式,可以插入相關內容.使用鍵盤的上下左右鍵可以移動游標, 編輯完成以後,按 ESC 退出編輯模式(進入命令模式), 然後輸入命令:wq 儲存並退出

 

 

# 在檔案的 mysqld 節下新增內容

[mysqld]
datadir=/usr/local/ieternal/mysql_data/mysql
socket=/var/lib/mysql/mysql.sock
#default-character-set=utf8
character_set_server=utf8
slow_query_log=on
slow_query_log_file=/usr/local/ieternal/mysql_data/slow_query_log.log
long_query_time=2


其中,也只有 datadir 和 socket 比較重要; 而 default-character-set 是 mysql 自己認識的,而 mariadb5.5 就不認識,相當於變成了 character_set_server

7.1 建立慢查詢日誌檔案

既然上面指定了慢查詢日誌檔案,我後來看了下MariaDB的err日誌,發現MariaDB不會自己建立該檔案,所以我們需要自己建立,並修改相應的檔案許可權(比如 mysql 採用 mysql使用者,可能我們使用 root使用者建立的檔案,此時要求慢查詢日誌檔案對mysql使用者可讀可寫就行。)

 

touch /usr/local/ieternal/mysql_data/slow_query_log.log
chmod 666 /usr/local/ieternal/mysql_data/slow_query_log.log


然後重新啟動MySQL.

 

service mysql start