本篇博客主要記錄如何部署一臺MySQL數據庫服務器。這裏僅僅是MySQL數據庫的基本安裝和配置。html
本篇博客以kvm虛擬機node15做爲MySQL數據庫服務器。
在前面的博客中,已經約定將虛擬機console的目錄/mnt/data/db,做爲全局數據庫服務的持久化存儲目錄
(筆記內鏈:《虛擬機console基礎環境部署——工做目錄準備.md》,博客園地址:http://www.javashuo.com/article/p-rigvofef-dr.html )node
mkdir node15_mysql_data
exportfs -r
,從新加載配置生效;經過exportfs
或者showmount -e localhost
查看是否生效service nfs restart
,重啓服務生效;經過exportfs
或者showmount -e localhost
查看是否生效虛擬機node15中,執行命令:rpm -qa | egrep "nfs-utils|rpcbind"
,查看是否安裝了NFS的環境;若是沒有安裝,執行命令:yum -y install nfs-utils rpcbind
mysql
虛擬機node15中,執行命令:yum -y install mysql mysql-client mysql-server
;執行完成,會安裝依賴包perl-DBI和perl-DBD-MySQL
安裝完成後,先不要啓動mysqld服務,進行下面的操做:
掛載虛擬機console共享的目錄,執行命令:mount -t nfs 192.168.10.8:/mnt/data/db/node15_mysql_data /var/lib/mysql
由於/mnt/data/db/node15_mysql_data的屬主是root,當其經過NFS掛載到node15時,由於有NFS的no_root_squash選項,所以在node15也是root用戶的
在虛擬機console上,修改/mnt/data/db/node15_mysql_data屬主爲mysql便可linux
注:在執行service mysqld start時報錯,報錯解決方式見sql
完成上述配置以後,即可以經過service mysqld start
開啓服務,並進行之後的操做數據庫
grant all privileges on *.* to 'root'@'localhost' identified by 'liwanliang';
,受權root本地能夠密碼訪問; grant all privileges on *.* to 'root'@'127.0.0.1' identified by 'liwanliang';
,受權root本地能夠密碼訪問; grant all privileges on *.* to 'root'@'192.168.80.8' identified by 'liwanliang';
,受權root能夠從虛擬機console使用密碼訪問; grant all privileges on *.* to 'root'@'192.168.80.15' identified by 'liwanliang';
,受權root能夠從虛擬機node15使用密碼訪問; select user,password,host from mysql.user;
,查看當前能夠無密碼訪問的受權,並進行刪除; delete from mysql.user where user='' and host='localhost';
delete from mysql.user where user='root' and host='node15';
delete from mysql.user where user='' and host='node15';
配置MySQL默認存儲引擎
查看當前存儲引擎,以下圖,顯示爲M有ISAM爲默認存儲引擎
從上述的查詢中,可以看到MySQL當前默認的存儲引擎是MyISAM,本系列博客中,須要將默認存儲引擎改成InnoDB。操做以下:
再次重複上面的查詢,能夠看到存儲引擎已經修改,以下圖:
服務器
配置MySQL的存儲目錄
略。本篇博客並無將存儲目錄修改,只想將其餘目錄掛載到該目錄下。ide
show varibales like '%char%';
查詢當前數據庫支持和默認採用的字符集 service msyqld restart
重啓服務 在掛載完成NFS,修改目錄屬性以後,第一次執行service mysqld start報錯,報錯以下:
測試
【解決方式】:執行service iptables stop
關閉防火牆;執行setenforce 0
關閉selinuxui
繼續執行service mysql start
,依然啓動失敗,查看日誌/var/log/mysqld.log
【解決方式】:執行mysql_install_db
,而後執行service mysqld restart
成功,以下圖: