2. 部署過程
2.1 虛擬機console的NFS服務端配置
2.2 虛擬機node15的NFS客戶端配置
2.3 虛擬機安裝MySQL環境
2.4 配置MySQL
3. 錯誤及解決
3.1 啟動失敗
1. 概述
本篇博客主要記錄如何部署一台MySQL數據庫服務器。這里僅僅是MySQL數據庫的基本安裝和配置。
2. 部署過程
本篇博客以kvm虛擬機node15作為MySQL數據庫服務器。
在前面的博客中,已經約定將虛擬機console的目錄/mnt/data/db,作為全局數據庫服務的持久化存儲目錄
(筆記內鏈:《虛擬機console基礎環境部署——工作目錄准備.md》,博客園地址:https://www.cnblogs.com/liwanliangblog/p/9193891.html )
2.1 虛擬機console的NFS服務端配置
- 創建mysql用戶和組
筆記內鏈:《LDAP-openldap服務部署和測試(YUM安裝).md》,博客園地址:https://www.cnblogs.com/liwanliangblog/p/9193916.html - 創建數據庫存儲目錄
在虛擬機console的/mnt/data/db目錄下,執行命令創建目錄:mkdir node15_mysql_data
- 將該目錄通過NFS文件系統共享出去
編輯配置文件/etc/exportfs,添加以下內容:/mnt/data/db/node15_mysql_data 192.168.10.15(rw,no_root_squash,no_all_squash) - 重啟NFS服務器生效
- 方式一:執行
exportfs -r
,重新加載配置生效;通過exportfs
或者showmount -e localhost
查看是否生效 - 方式二:執行
service nfs restart
,重啟服務生效;通過exportfs
或者showmount -e localhost
查看是否生效
2.2 虛擬機node15的NFS客戶端配置
虛擬機node15中,執行命令:rpm -qa | egrep "nfs-utils|rpcbind"
,查看是否安裝了NFS的環境;如果沒有安裝,執行命令:yum -y install nfs-utils rpcbind
2.3 虛擬機安裝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即可
注:在執行service mysqld start時報錯,報錯解決方式見
完成上述配置之后,便可以通過service mysqld start
開啟服務,並進行以后的操作
2.4 配置MySQL
- 配置MySQL的root密碼和登陸
執行mysql,進入MySQL數據庫系統;
執行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的存儲目錄
略。本篇博客並沒有將存儲目錄修改,只想將其他目錄掛載到該目錄下。- 配置MySQL的默認字符
執行命令show varibales like '%char%';
查詢當前數據庫支持和默認采用的字符集
查看當前MySQL系統支持的全部字符集,如下圖:
修改配置文件/etc/my.cnf,保存退出后, 執行service msyqld restart
重啟服務
3. 錯誤及解決
3.1 啟動失敗
在掛載完成NFS,修改目錄屬性之后,第一次執行service mysqld start報錯,報錯如下:
【解決方式】:執行service iptables stop
關閉防火牆;執行setenforce 0
關閉selinux
繼續執行service mysql start
,依然啟動失敗,查看日志/var/log/mysqld.log
【解決方式】:執行mysql_install_db
,然后執行service mysqld restart
成功,如下圖: