上篇文章給大家介紹了 Centos 使用YUM安裝MariaDB,相關資料可以參考下此文。
說明: 首先必須能連結外網. 如果不能直接存取,那也可以設定代理,請參考: 在內網機器上設定yum代理
使用 yum 的許可權要求是 root 使用者,如果你不是,那麼可以需要 在 shell命令之前加上 sudo, 或者 su root 切換到 super 管理員進行操作. 並可能需要輸入密碼.
1. 添加 yum 資料來源;
建議命名為 MariaDB.repo 類似的名字:
複製代碼 代碼如下:
cd /etc/yum.repos.d/
vim /etc/yum.repos.d/MariaDB.repo
然後,寫入檔案內容:(建議使用 10.0)
複製代碼 代碼如下:
# MariaDB 10.0 CentOS repository list - created 2015-08-12 10:59 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
該檔案的內容是參考官網,並從官網上產生的,設定安裝源倉庫的 具體的地址為:
https://downloads.mariadb.org/mariadb/repositories/
選擇好作業系統版本之後既可以查看,其他動作系統的安裝源也可以在此處查看並設定。
如果伺服器不支援https協議,或者gpgkey 保錯,確保沒問題的話,可以將 gpgcheck=1 修改為 gpgcheck=0,則不進行校正.
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密碼
# 修改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