之前笔者的服务器已经完成部署了很多基础业务,对于这类网络基础业务,会在运行中产生大量的数据。对于应用程序设计而言,数据获取、存储是可视化的前提,这节笔者就在自己的服务器的搭建一套数据库,来为之后的数据存储提供环境。
目前常用的数据库软件有oracle、mysql、access等,考虑到笔者的应用量级和部署成本,还是采用目前比较主流的开源数据库mysql来进行部署。
依旧是熟悉的yum安装,笔者首先来看一看系统是否自带:
yum list installed | grep mysql
系统没有自带,查看yum列表,安装mysql:
yum list | grep mysql
似乎没有找到mysql-server的资源,精确查找一下:
yum list mysql*
发现确实没有yum资源库,这应该是笔者这个学习课程中第一次遇到没有yum资源的软件安装。
对于这类需要安装的软件,一般可以采用三种途径,第一种更换一个yum源;第二种直接添加官方的yum源来完成安装;第三种编译安装。这里笔者的yum源是学校内yum,就不去更换其他的社会资源了,正好也找到了官网的下载途径,也就不存在编译安装了。
官网地址:http://repo.mysql.com/yum
http://repo.mysql.com/
下载一个版本较高的yum源:
wget http://repo.mysql.com/mysql-community-release-el7-7.noarch.rpm
然而发现os7的服务器默认系统并不支持wget指令:
绕点路,老办法yum安装wget:
yum list | grep wget
yum install wget
与之前章节相似的节奏,小插曲结束,继续安装mysql
wget http://repo.mysql.com/mysql-community-release-el7-7.noarch.rpm
下载完成后,可以在当前的文件目录下找到已经下载好的文件。
rpm执行文件:
rpm -ivh mysql-community-release-el7-7.noarch.rpm
这时候/etc/yum.repos.d/的文件下面就多了两个mysql的yum源文件,对比一下:
未安装前:
安装以后:
这时候笔者就可以看到是否有mysql的资源了~
yum repolist all | grep mysql
在上面的截图中可以看到,该yum源默认会安装mysql5.6的版本,下面笔者修改一下配置文件,安装较新的版本mysql5.7:
vi mysql-community.repo
将mysql 5.6的enable=1修改为0,同时将5.7的enable修改为1。
再次查看一下mysql资源:
yum repolist all | grep mysql
此时5.7版本被启用,安装该版本数据库。
yum install mysql-community-server
安装完成后查看一下:
yum list installed | grep mysql
启动mysql服务:
service mysqld start
service status start
看到状态已经是active running了~
之后笔者进入mysql数据库,首先设置root密码。对于mysql5.7版本而言初始密码在安装过程中已经生成,查看mysql.log的日志即可。
cd /var/log
cat mysql.log | grep password
Mysql5.7初始化一定要修改一次密码,不然会出现如下报错:
下面笔者修改初始密码:
只要在password字符后+空格+密码就可以了,笔者试了几个简单密码,都没有成功,笔者尝试了一个大小写数字加符号的组合,修改成功。
进入数据库:
mysql -u root -p
输入刚刚修改的密码,就可以登陆数据库了。
数据库的操作教程网上有很多资源,笔者就不在班门弄斧了。基于现有的应用环境,笔者计划创建一张测试表,来记录一下ip地址的分配情况。具体想要达成的效果如下:
IP:192.168.0.1 user:gateway PCmac:1122334455667788 status:used data_time:2017.5.5
IP:192.168.0.2 user:xiaoming PCmac:1122334455667787 status:used data_time:2017.5.5
IP:192.168.0.3 user:xiaohong PCmac:1122334455667786 status:used data_time:2018.5.5
IP:192.168.0.4 user:xiaozhang PCmac:1122334455667785 status:leased data_time:now
将如上数据保存在数据库中。
新建一个数据库:create database ip_manage;
选择新数据库:use ip_manage
新建名为inside_ip的数据表,并定义id、ip、user、PCmac、status、data_time的数据类型及长度。
CREATE TABLE IF NOT EXISTS inside_ip(
inside_id INT UNSIGNED AUTO_INCREMENT,
ip VARCHAR(40) NOT NULL,
user VARCHAR(100) NOT NULL,
PCmac VARCHAR(40) NOT NULL,
status VARCHAR(40) NOT NULL,
data_time DATE,
PRIMARY KEY ( inside_id )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
在inside_ip表中插入上述四条数据:
insert into inside_ip
(ip,user,PCmac,status,data_time)
values
('192.168.0.1','gateway','1122334455667788','used','2017-05-05');
insert into inside_ip
(ip,user,PCmac,status,data_time)
values
('192.168.0.2','xiaoming','1122334455667787','used','2017-05-05');
insert into inside_ip
(ip,user,PCmac,status,data_time)
values
('192.168.0.3','xiaohong','1122334455667786','used','2018-05-05');
insert into inside_ip
(ip,user,PCmac,status,data_time)
values
('192.168.0.4','xiaozhang','1122334455667785','leased',now());
查看一下笔者新建的这个数据表:select * from inside_ip
看到已经完成相应的效果了~之后从各处获得的数据信息就可以想办法存在数据库中来供前端应用服务调用了。