CentOS安裝和設(shè)置MariaDB的教程
上篇文章給大家介紹了 Centos 使用YUM安裝MariaDB,相關(guān)資料可以參考下此文。
說明: 首先必須能鏈接外網(wǎng). 如果不能直接訪問,那也可以設(shè)置代理,請(qǐng)參考: 在內(nèi)網(wǎng)機(jī)器上設(shè)置yum代理
使用 yum 的權(quán)限要求是 root 用戶,如果你不是,那么可以需要 在 shell命令之前加上 sudo, 或者 su root 切換到 super 管理員進(jìn)行操作. 并可能需要輸入密碼.
1. 添加 yum 數(shù)據(jù)源;
建議命名為 MariaDB.repo 類似的名字:
cd /etc/yum.repos.d/
vim /etc/yum.repos.d/MariaDB.repo
然后,寫入文件內(nèi)容:(建議使用 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
該文件的內(nèi)容是參考官網(wǎng),并從官網(wǎng)上生成的,設(shè)置安裝源倉庫的 具體的地址為:
https://downloads.mariadb.org/mariadb/repositories/
選擇好操作系統(tǒng)版本之后既可以查看,其他操作系統(tǒng)的安裝源也可以在此處查看并設(shè)置。
如果服務(wù)器不支持https協(xié)議,或者gpgkey 保錯(cuò),確保沒問題的話,可以將 gpgcheck=1 修改為 gpgcheck=0,則不進(jìn)行校驗(yàn).
2. 安裝數(shù)據(jù)庫
# yum remove MariaDB-server MariaDB-client
yum -y install MariaDB-server MariaDB-client
如果要?jiǎng)h除舊的數(shù)據(jù)庫可以使用remove, 參數(shù) -y 是確認(rèn),不用提示。此處,安裝的是服務(wù)器和客戶端,一般來說安裝這兩個(gè)就可以了。
3. 啟動(dòng)數(shù)據(jù)庫
如果不用進(jìn)行其他的操作,則現(xiàn)在就可以直接啟動(dòng)數(shù)據(jù)庫,并進(jìn)行測(cè)試了。
# 查看mysql狀態(tài);關(guān)閉數(shù)據(jù)庫
# service mysql status
# service mysql stop
# 啟動(dòng)數(shù)據(jù)庫
service mysql start
4. 修改root密碼
# 修改root密碼
mysqladmin -u root password 'root'
因?yàn)榘惭b好以后的root密碼是空,所以需要設(shè)置; 如果是測(cè)試服務(wù)器,那么你可以直接使用root,不重要的密碼很多時(shí)候可以設(shè)置為和用戶名一致,以免忘記了又想不起來。
如果是重要的服務(wù)器,請(qǐng)使用復(fù)雜密碼,例如郵箱,各種自由組合的規(guī)則的字符等。
5. 登錄數(shù)據(jù)庫
mysql -u root -p
如果是本機(jī),那可以直接使用上面的命令登錄,當(dāng)然,需要輸入密碼. 如果是其他機(jī)器,那么可能需要如下的形式:
mysql -h 127.0.0.1 -P 3306 -u root -p
6. 簡(jiǎn)單SQL測(cè)試
> -- 查看MySQL的狀態(tài) status; -- 顯示支持的引擎 show engines; -- 顯示所有數(shù)據(jù)庫 show databases; -- 切換數(shù)據(jù)庫上下文,即設(shè)置當(dāng)前會(huì)話的默認(rèn)數(shù)據(jù)庫 use test; -- 顯示本數(shù)據(jù)庫所有的表 show tables; -- 創(chuàng)建一個(gè)表 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; -- 插入測(cè)試數(shù)據(jù) insert into t_test(userId) values ('admin') ,('haha') ; -- 簡(jiǎn)單查詢 select * from t_test; select id,userId from t_test where userId='admin' ;
7. 修改數(shù)據(jù)存放目錄
mysql, MariaDB 的默認(rèn)數(shù)據(jù)存放在 /var/lib/mysql/ 目錄下,如果不想放到此處,或者是想要程序和數(shù)據(jù)分離,或者是磁盤原因,需要切換到其他路徑,則可以通過修改 datadir系統(tǒng)變量來達(dá)成目的.
# 停止數(shù)據(jù)庫
service mysql stop
# 創(chuàng)建目錄,假設(shè)沒有的話
mkdir /usr/local/ieternal/mysql_data
# 拷貝默認(rèn)數(shù)據(jù)庫到新的位置
# -a 命令是將文件屬性一起拷貝,否則各種問題
cp -a /var/lib/mysql /usr/local/ieternal/mysql_data
# 備份原來的數(shù)據(jù)
cp -a /etc/my.cnf /etc/my.cnf_original
# 其實(shí)查看 /etc/my.cnf 文件可以發(fā)現(xiàn)
# MariaDB 的此文件之中只有一個(gè)包含語句
# 所以需要修改的配置文件為 /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 進(jìn)入編輯模式,可以插入相關(guān)內(nèi)容.使用鍵盤的上下左右鍵可以移動(dòng)光標(biāo), 編輯完成以后,按 ESC 退出編輯模式(進(jìn)入命令模式), 然后輸入命令:wq 保存并退出
# 在文件的 mysqld 節(jié)下添加內(nèi)容
[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 自己認(rèn)識(shí)的,而 mariadb5.5 就不認(rèn)識(shí),相當(dāng)于變成了 character_set_server
7.1 創(chuàng)建慢查詢?nèi)罩疚募?/strong>
既然上面指定了慢查詢?nèi)罩疚募?,我后來看了下MariaDB的err日志,發(fā)現(xiàn)MariaDB不會(huì)自己創(chuàng)建該文件,所以我們需要自己創(chuàng)建,并修改相應(yīng)的文件權(quán)限(比如 mysql 采用 mysql用戶,可能我們使用 root用戶創(chuàng)建的文件,此時(shí)要求慢查詢?nèi)罩疚募?duì)mysql用戶可讀可寫就行。)
touch /usr/local/ieternal/mysql_data/slow_query_log.log
chmod 666 /usr/local/ieternal/mysql_data/slow_query_log.log
然后重新啟動(dòng)MySQL.
service mysql start
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。