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
成功,如下图: