本篇博客主要记录如何部署一台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
成功,以下图: