FreeNAS Jail中安装MySQL数据库服务器

2015-3-12 17:00 Herald 4486 FreeNASJails

经常玩LAMP/LNMP环境的朋友对MySQL数据库可以说钟爱有加,至于为什么要在Jail中装MySQL,这问题必须由你自己来回答。

本教程相关操作,均需在Jail中操作,如果你不知道如何访问Jail终端,请先阅读《如何通过SSH访问Jail虚拟机》。

在Jail中安装MySQL Server 5.6.x

如果你还不了解如何在Jail虚拟机中安装软件程序,请先阅读《FreeNAS:如何在Jail里面安装软件?》。

安装命令:pkg install mysql56-server  (注意交互提示,y为确认,N或回车为取消。)

20150311223134

测试MySQL Server是否安装成功:service mysql-server onestart  (下图所示代表mysql服务器安装并启动成功)

20150312123024

设置 mysql-server 开机自启动,需要编辑 /etc/rc.conf 配置文件,笔者习惯了用 nano 编辑器(pkg install -y nano),也可以使用其他你习惯的命令行编辑器如最常用的 vi。

命令:nano /etc/rc.conf  如下图,在文件末尾新增一条 mysql_enable=”YES” 。这样一来,只要Jail虚拟机启动,MySQL服务器就会自动启动。

Tips:快速添加启动命令也可以直接使用 sysrc ‘mysql_enable=YES’

20150311225435

出于安全考虑,有必要运行一下mysql的安全初始化向导:/usr/local/bin/mysql_secure_installation  (直接将命令复制到命令行中执行即可),该向导会以交互的方式帮助我们完成mysql服务的安全初始化,下图所示为第一步,提示我们输入当前mysql服务器的root用户密码,由于我们是新安装的,并没有设置root密码,因此直接按回车键确认即可。

20150312123342

第二个交互询问我们是否为root用户设置密码,输入Y或回车代表设置,输入n代表不设置。root用户是mysql的超级管理员,对于生产环境,root密码不但要设置,而且要设置的够复杂才安全。这里我们选择设置密码,紧接着会提示我们输入密码,并要求再次输入密码以确认,如下图所示,设置完成会有成功提示。

20150312124044

第三个交互询问我们是否要删除匿名用户(anonymous),默认情况下Mysql会创建一个匿名用户以便于我们对数据库服务器进行测试,对于生产环境,匿名用户会带来一定的安全风险,建议您在这里将匿名用户删除。输入Y或回车代表删除,输入n代表不删除。

20150312124219

第四个交互询问是否允许root用户远程访问此Mysql服务器,这一项设置要你自己定夺。如果选择禁止(Y或直接回车),那么你就无法以root用户的身份在windows等客户机上通过Mysql客户端访问此服务器,反之(输入n)则表示允许,但这会有一定风险,对于生产环境,别有用心的人可能会爆破你的root密码,还是很恐怖的。不过即便你设置了允许远程访问也不用担心,可以在测试完成以后再禁用此项设置(重新运行一次安全设置向导即可)。

20150312124448

第五个交互询问是否删除Mysql服务器中的测试数据库,这是程序为了便于我们测试预置的一个数据库,允许匿名访问,没什么实际用途,建议删除掉吧。

20150312125006

第六个交互询问是否重新载入权限表,目的是为了使刚刚所有的设置生效(输入Y或直接回车确定,输入n取消),当然要确定喽。好了,安全初始化已经完成了。

20150312125414

创建数据库

在命令行下管理和创建MySQL数据库并不在本教程的介绍范围,权当抛砖引玉吧,简单做一下介绍。

创建数据库和用户名,首先要连接到MySQL服务器,使用命令:mysql -uroot -p  (命令执行后提示输入root用户密码,即在安装设置向导中第二个交互中设置的密码。)如下图所示,命令提示符已经变成了 mysql>,这是mysql自带的命令行工具。

20150312132422

创建新用户:将下方命令稍作修改,然后复制到终端中执行即可。将命令中的 username 替换成你要创建的用户名,将 password 替换成你为该用户设置的密码。

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

20150312133638

创建数据库:下方命令将创建名为 owncloud 的数据库,如果你希望使用其他名称,则用新名称替换 owncloud 即可。

CREATE DATABASE IF NOT EXISTS owncloud;

20150312133724

数据库与新用户关联:下方命令中的 owncloud 代表数据库名称,username 代表用户名,password 代表用户密码。请根据执行上面两个命令时修改的部分对此命令进行调整。

GRANT ALL PRIVILEGES ON owncloud.* TO 'username'@'localhost' IDENTIFIED BY 'password';

20150312133818

退出mysql命令行管理器:quit

20150312133955

 

{{ headers["x-wp-total"] }} 条评论

{{ post_id = '1146' }}

回复 {{ reply_to }}