服务器搭建十——MySQL数据库服务器搭建

1.测试环境

a)Centos 6.7
b)Mysql(5.1.73yum安装 在测试rpm安装时候失败)

2.简单的数据库概述

数据库说的直白点就是存储数据的仓库。仓库又有多种,你可以把东西随便扔进去,也可以按照顺序,结构化的存储,现在最流行的是什么?关系型数据库还是非关系型数据库呢。
  关系型数据库:SQL Server,MySQL,SQLite,Oracle,Sybase和DB2。
  非关系数据库:Couchbase,MongoDB,Redis,BigTable和RavenDB。
  相对来说使用最多的还是关系型数据库,现在也有很多开始使用MongoDB(其实是介于关系型和非关系型之间的)。现对于oracle数据库的高昂费用,MySQL是开源免费的数据库,因此在学习关系型数据库时候选择这个来学习了。

3.MySQL安装方法

Windows系统MySQL数据库安装方法比较简单,就是下载一个exe文件下一步安装。这里注意说说linux系统的安装方法,和linux系统其他软件的安装一样也是分两种方法:

3.1 系统安装时候安装

如果你在系统安装时候选择安装了mysql数据库,或者选择为mysql数据库服务器,那么会默认自动安装了数据库和相关的依赖包。但是这个版本一般都是比官方低很多,安全性会低一些,可能会在使用过程中再升级到新的版本,打补丁什么的。如果使用学习的话可以使用这个安装。但是在生产环境中需要注意下数据库安全问题选择相对来说高点的版本,并打上必要的补丁,而在实际的使用过程中大家可能就是安装玩测试,测试使用可以就行了,相对于优化可能做的更多,但是在漏洞扫描,安全扫描时候才会发现你的版本很多漏洞。


系统安装时候选择

  在centos7 以后改成了MariaDB,这个是mysql的一个分支。


centos6 时候

  Centos6 版本可以选择数据库会发现mysql服务器和客户端选上安装的玩系统使用就已经安装了MySQL.

3.2 yum源安装或者rpm安装

如果是有联网的话。Centos系统可以直接使用yum源安装的方法,这个安装可能会比系统自动版本高一点,也会安装必要的依赖库。如果是挂载的dvd作为yum源那么版本就和你挂载有关系,但是有可能部分依赖库找不到。有时候DVD盘分两个。
  也可以是在网上下载rpm包安装或在光盘中找到mysql必要的安装包来安装。注意是服务器端和客户端。如果安装过程遇到报错可以根据需要安装必要的文件,比如你是最小系统安装的那么很多库没有安装也需要你自行找到安装包安装。还有个依赖包比较重要的是perl-DBI包这个也是mysql的依赖包。
如果你在使用是Centos7 有可能无法安装,为什么呢?因为安装了MariaDB,需要卸载以后,才能安装。(源码安装也有可能存在这个问题)
  不管是系统安装还是yum安装 rpm安装都存在一个问题,就是数据库文件存在什么位置的问题,当然你可以修改配置文件来改变存储位置,也可以找到方法把安装的默认位置,迁移到你需要的位置(这个可能会产生一些问题),不太建议迁移。数据库后续使用需要很大的空间,你可以单独挂载磁盘来给数据库使用。

光盘中文件位置

mysql的几个rpm包

  在安装盘什么未知可以找到RPM文件呢。看看上面的两个图就知道了。
  相对于前面安装方法的简单,后面的安装方法可能会复杂点,但是还是建议使用这种安装方法。
去哪里找安装包不用我来说吧,网站自己搜下mysql官网就出来了的啊。选择什么版本根据自己需要。里面有企业版(收费的)和社区版本,并且根据不同系统都有对应的版本,既有单独的rpm包,也有集合例如我下载的就是mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar 最新合集。解压之后:
下载最新的包

  安装顺序:先安装所有必要的依赖包,然后在安装mysql-server和mysql-client
  客户端是用来测试本地服务器。
  安装命令是rpm -ivh 包名.rpm
  如果希望知道安装包的默认安装目录可以使用rpm -qpl 包名.rpm查看
  如果希望更改安装目录可以使用 --relocate 旧的安装目录=新的安装目录
  例如我希望将mysql的数据存储安装到我新挂载的文件目录 /data/mysql上
  rpm -ivh --relocate /var/lib=/data/mysql mysql-community-server-5.7.18-1.el7.x86_64.rpm

数据库文件

  如果直接使用安装mysql-server时候会遇到如下报错,原因是库文件和依赖文件没有安装的原因。因为几个包都存在着依赖的关系可以使用--nodeps 忽略安装。

需要的依赖包和一些必要的文件

  看到上面第一个报错需要安装glibc2.17 版本以上的才可以,systemd等。这安装方法感觉很复杂,会出现各种报错。我是尝试了很久。
  如果希望直接使用yum安装吧,这种最省心了,其实官网还有各=地方你可以YUM 很小的一个文件,这个就是yum源文件,可以把这个下载下来放到yum源中。这样就可以安装最新的版本了。
最快的安装方式:yum install mysql

安装了客户端

  你会发现这样安装还是无法启动,那是因为你安装的不是server

安装服务器

启动 初始化

  看看安装的目录:rpm -ql mysql-server
安装目录

  主要的文件:/usr/bin (客户端程序和脚本)         /usr/sbin (mysqld 服务器)         /var/lib/mysql 日志和数据库文件
  后面这个最主要了,所有的数据库文件都在里面

4.配置

Mysql的配置文件相对来说是简单的,但是和各个应用相关的连接什么。还需要安装相关的文件比如安装php-mysql等等,会生成一些相关的配置文件,需要具体问题具体分析了。
  配置文件/etc/my.cnf

my.cnf

  关于mysql的启动除了使用service mysqld start
  还可以使用mysqld_safe & (官方建议使用这个)但是使用这个会出现问题,这个是会自动重启服务的。所以无法使用stop关闭服务。使用kill -9 也无法关闭。需要使用mysqladmin shutdown关闭


Paste_Image.png

  在通常安装之后的my.cnf可能不存在 或者是比较简单的,比如上面那个就特别简单只有数据存储位置,要是希望使用更多的配置优化。需要在/usr/share/mysql找到5个配置文件的实例,可以根据需要将相应的实例文件复制到my.cnf文件中,进行修改。


配置文件实例

  以my-huge.cnf为例来看看具体的内容:

配置文件

  还有:skip-name-resolve (静止mysql做域名解析,节省时间)      max-connections=1000 设置最大连接进程数
  可以使用使用show variables like '%buffer%';查看系统当前的选项的配置
  可以使用set命令来直接更改选项的值。
查看现有配置选项

5.简单数据库命令

关于mysqladmin是一个很重要的命令,他是mysql的服务器管理程序,可以用来做各种必要的管理。更改用户名密码,创建数据库,调试,显示状态,杀掉服务器线程等。下面是查看进程信息,是否运行。关于更详细的可以查看直接输入mysqladmin就可以查看到。

mysqladmin测试

  数据库操作包括查看,选择,创建和删除 主要是在数据库下操作,上面的mysqladmin是在系统命令行操作的。
数据库操作

  更多的sql命令建议你找一本数据库的书籍来学习。数据库的学习不是一蹴而就需要不多使用,操作。
  关于用户和权限管理除了使用mysqladmin,在数据库中也有对应的SQL命令进行管理,需要用到5张授权表 user ,db, host, tables_priv, columbs_priv
  用户授权命令grant 这个实际就是对5张表处理。revoke 回收权限。
  mysqldump 用来备份和恢复具体自己可以找下命令(help1)使用什么参数。
  上面说的都是命令行的管理,可能在初期使用非常的不习惯,那么有没有图形化的管理界面呢?我们也可以使用phpMyAdmin编写的图形化管理配置程序。这个程序需要和apache+php配合使用。
  如何安装phpMyAdmin
  我是使用yum install php httpd -y
  然后设置httpd.conf
  在里面DirectoryIndex index.html index.php #添加index.php
  添加如下内容
  AddType application/x-httpd-php-source .phps   AddType application/x-httpd-php .php
  检查LoadModule php5_module modules/libphp5.so 是否已经添加 libphp5.so文件是否存在

然后将下载的phpMyAdmin 解压缩 复制到/var/www/html中 将config.sample.inc.php 修改为config.inc.php 并且编辑,在下方填上任意内容。


配置config.inc.php

  但是我在重启httpd服务以后,登录发现无法报错,查询报错日志

报错

  我将index.php修改为如下内容测试正常
  <?php    phpinfo();    ?>
  说明httpd没有问题,phpMyAdmin 也是官网下载的最新版本,后来查询得知可能是php版本的问题,因为使用yum安装时候一般都不是最新版本。后来查询的版本是php5.3.3版本却是很低,重新安装php。
我重新安装以后遇到了一些问题但是没有解决

安装报错

  网上找到是安装yum install php-mbstring但是问题没有解决
  也有说需要修改php.ini在里面将msbstring去掉分号生效 但是还是没有解决。后续在处理吧。这个和apache+php有一定的关系,在后续学习apache时候在来详细说说吧。再就是选择phpMyAdmin版本时候需要注意下他使用的php版本相对应 不然就会遇到和我之前安装发现无法使用的问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容