会不会有那么一天,生活可以简单到每天清早踏上一辆载着鲜花的脚踏车,微笑着穿过窄窄的街巷,为爱花的人送去芬芳,为需要知识的你送去帮助

简介

Apache HTTP Server作为优秀的Web服务器软件,提供了面向用户的前端应用功能。而在实际的企业网站平台中,为了提供更丰富、更强大的Web应用功能,往往还需要有后台数据库、网页编程语言等多种角色的支持。

本章将学习如何安装MySOL数据库,以及使用和维护MySOL数据库的基本操作。

本章重点

  • 安装及使用MySOL数据库
  •  MySOL数据库的用户授权

一,MySQL服务基础

        MySOL是一个真正的多线程、多用户的SOL数据库服务,凭借其高性能、高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。在2008年以前,MySOL项目由MySOL AB公司进行开发、发布和支持,之后历经Sun 公司收购MySOL AB公司,Oracle公司收购Sun公司的过程,目前MySOL项目由Oracle公司负责运营和维护。

        本节将介绍MySOL的编译安装过程、服务控制方法,以及如何使用客户端工具访问MySOL数据库。

MySOL 服务器默认通过TCP3306端口提供服务。通过编辑/etc/my.cnf配置文件中[mysql]配置段的“port=3306”行,可以更改监听端口。

mysql数据库名字如何修改 mysql 修改数据库名_字段

需求描述

1.编译安装MySOL服务器,并添加为mysqld系统服务。

2.为MySOL数据库的root用户设置密码,删除用户名、密码为空的用户记录。

3.新建名为“bdqn”的库,授权用户rundb从本机访问,具有所有操作权限。

4.以rundb用户登录,在bdqn库中创建stuinfo表,并录入数据,如表3-2所示。

            下面就跟着阿马来一起安装,使用并且为用户授权

创建一个管理mysql组

mysql数据库名字如何修改 mysql 修改数据库名_数据库_02

创建一个管理mysql的服务账户

mysql数据库名字如何修改 mysql 修改数据库名_linux 指定库名 登录mysql_03

二,安装mysql数据库

        为了确保MySOL数据库功能的完整性、可定制性,本小节将采用源代码编译的方式安装MySOL数据库系统。MySOL5.X系列版本的使用最为广泛,该版本的稳定性.兼容性都不错,这里将以mysql-5.5.22.tar.gz为例,其官方站点为http://www.mysql.com/。

    1.安装mysql的依赖和环境变量

            1)注意这里先要切换CentOS-7.4-x86_64-DVD-1708.iso光盘进行安装

mysql数据库名字如何修改 mysql 修改数据库名_mysql_04

        2)使用yum安装环境变量和依赖

mysql数据库名字如何修改 mysql 修改数据库名_数据库_05

        3)安装完成    

mysql数据库名字如何修改 mysql 修改数据库名_mysql_06

    2.使用源码安装mysql

        1)因为我们要使用Linux.iso进行源码安装,所以在安装之前需要先卸载之挂载的CentOS光盘

mysql数据库名字如何修改 mysql 修改数据库名_mysql数据库名字如何修改_07

        2)切换Linux.iso光盘

mysql数据库名字如何修改 mysql 修改数据库名_mysql_08

        3)挂载光盘

mysql数据库名字如何修改 mysql 修改数据库名_linux 指定库名 登录mysql_09

        4)将mysql-5.5.22.tar.gz解压到/usr/src下

mysql数据库名字如何修改 mysql 修改数据库名_字段_10

        5)切换到/usr/src/mysql-5.5.22/  进行配置

mysql数据库名字如何修改 mysql 修改数据库名_mysql数据库名字如何修改_11

        在内容丰富、结构庞大的企业网站平台中,可能会用到多种字符集的网页,相应地数据库系统也应该支持不同的字符集编码。在配置过程中,可以将默认使用的字符集设置为utf-8.并添加其他字符集的支持。

上述配置命令中,各选项的含义如下。

  • -DCMAKE_INSTALL_PREFX:指定将MySQL 数据库程序安装到某目录下,如目录/usr/local/mysql。
  •  -DSYSCONFDR:指定初始化参数文件目录。
  • -DDEFAULT_CHARSET:指定默认使用的字符集编码,如utf-8。
  • -DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci 是适用于utf-8字符集的通用规则。
  • -DWITLEXTRA_CHARSETS:指定额外支持的其他字符集编码。

        6)编译并且安装,这个过程是比较久的,看个人电脑性能,快的3~5分钟左右,慢的不定,具体看个人情况

mysql数据库名字如何修改 mysql 修改数据库名_mysql数据库名字如何修改_12

三,安装后的其他调整

        1.生成mysql主配置文件

mysql数据库名字如何修改 mysql 修改数据库名_linux 指定库名 登录mysql_13

        CentOS7系统下默认支持MariaDB数据库,因此系统默认的/etc/my.cnf 配置文件中是MariaDB的配置文件。而在MySOL源码目录中的support-files文件夹下,提供了MySOL数据库默认的样本配置文件my-default.cnf 文件,在启动MySOL数据库服务之前,需要先将原有的my.cnf文件替换为MySQl提供的配置文件内容。

        2.生成mysql服务控制文件

mysql数据库名字如何修改 mysql 修改数据库名_数据库_14

为mysql服务控制文件加入执行权限:

mysql数据库名字如何修改 mysql 修改数据库名_mysql数据库名字如何修改_15

        3.优化mysql命令

mysql数据库名字如何修改 mysql 修改数据库名_字段_16

mysql数据库名字如何修改 mysql 修改数据库名_linux 指定库名 登录mysql_17

mysql数据库名字如何修改 mysql 修改数据库名_数据库_18

测试是否优化成功:输入mysql按两下tab得到一下结果即为成功:

mysql数据库名字如何修改 mysql 修改数据库名_mysql数据库名字如何修改_19

        4.初始化数据库

mysql数据库名字如何修改 mysql 修改数据库名_mysql数据库名字如何修改_20

初始化完毕

mysql数据库名字如何修改 mysql 修改数据库名_linux 指定库名 登录mysql_21

为了能够正常使用MySOL数据库系统,应以运行用户mysql的身份执行初始化脚本mysql install_db,指定数据存放目录等。

        5.添加为系统服务并且设置为开机自启

mysql数据库名字如何修改 mysql 修改数据库名_mysql_22

        6.启动并设置为开机自启mysqld服务

mysql数据库名字如何修改 mysql 修改数据库名_mysql数据库名字如何修改_23

四,访问mysql数据库

        熟悉安装及访问MySOL数据库以后,接下来将学习使用MySOL数据库的基本操作,这也是在服务器运维工作中不可或缺的知识。本节中的所有数据库语句均在“mysql>操作环境中执行。

    1.首先设置登录mysql 用户为root的密码为pwd@123

mysql数据库名字如何修改 mysql 修改数据库名_数据库_24

    2.登录mysql数据库

mysql数据库名字如何修改 mysql 修改数据库名_mysql数据库名字如何修改_25

如图以上情况就已经成功登录mysql数据库

        3,show databases; 查看数据库

mysql数据库名字如何修改 mysql 修改数据库名_字段_26

SHOW DATABASES 语句:用于查看当前MySOL服务器中包含的库。经初始化后的MySOL服务器,默认建立了四个库:test,mysql、information_schema 和 performance_schema(其中mysql库是mysql正常运行所需的库,其中包含了用户认证相关的表)

        4.show tables; 查看表

SHOW TABLES语句:用于查看当前所在的库中包含的表。在操作之前,需要先使用USE语句切换到所使用的库。例如,执行以下操作可以显示mysql库中包含的所有表。

mysql数据库名字如何修改 mysql 修改数据库名_linux 指定库名 登录mysql_27

MySOL数据库的数据文件存放在/usr/local/mysql/data目录下,每个数据库对应一个子目录,用于存储数据表文件。每个数据表对应为三个文件,扩展名分别为“.frm”、".myd”和“.myi”。

        5. desc    查看表的结构

        DESCRIBE 语句:用于显示表的结构,即组成表的各字段(列)的信息。需要指定“库名.表名”

作为参数;若只指定表名参数,则需先通过USE 语句切换到目标库。例如,执行以下操作可以查看mysql库中的user 表的结构,与直接执行‘DESCRIBE mysql.user;”语句的效果相同。

        6.创建及删除库和表

        当需要为网站平台提供数据库服务时,如何操作来创建新的库呢?根据一份二维数据表格,如何在现有的库中创建表?对于废弃的数据表和库,又该如何进行删除呢?本小节主要解决这三个问题。

        1)创建新的数据库

        CREATE DATABASE语句:用于创建一个新的库,需指定数据库名称作为参数。例如,执行以下操作可以创建一个名为auth的库。

mysql数据库名字如何修改 mysql 修改数据库名_mysql数据库名字如何修改_28

        2)创建新的表

        CREATETABLE语句:用于在当前库中创建新的表,需指定数据表名称作为参数,并定义该表格所使用的各字段。基本格式如下所示。

CREATE TABLE表名(字段1名称类型,字段2名称类型,…,PRIMARYKEY(主键名))

        例如,我们要在auth库中创建一个sutdent表,指定字段,id,name,sex,age这四个字段,为id字段加上主键,如图:

mysql数据库名字如何修改 mysql 修改数据库名_字段_29

        3)删除表

        DROPTABLE语句:用于删除库中的表,需要指定库名.表名”作为参数;若只指定表名参数,则需先通过执行“USE”语句切换到目标库。例如,执行以下操作可以删除auth库中的student表。

mysql数据库名字如何修改 mysql 修改数据库名_mysql_30

        4)删除数据库

DROP DATABASE 语句:用于删除指定的库,需要指定库名作为参数。例如,执行以下操作可以删除名为auth的库。

mysql数据库名字如何修改 mysql 修改数据库名_mysql数据库名字如何修改_31

五,管理表中的数据记录

        参考上面中的步骤重新创建auth库和student表,下面将以student表为基础,学习向表中插入、查询、修改及删除数据记录的操作。

        1.插入数据 insert into

INSERT INTO语句:用于向表中插入新的数据记录。语句格式如下所示:

INSERT INTO表名(字段1,字段2…)VALUES(字段1的值,字段2的值,…)

如图所示:向student表中分别插入“张三”,“李四”,“王五”

mysql数据库名字如何修改 mysql 修改数据库名_数据库_32

        2.查询表中数据

SELECT 语句:用于从指定的表中查找符合条件的数据记录。MySQL数据库支持标准的SOL查询语句,语句格式如下所示。

SELECT字段名1,字段名2…FROM表名 WHERE 条件表达式

如图所示:我们要查询auth中student的数据

mysql数据库名字如何修改 mysql 修改数据库名_mysql_33

若只想查看id与名字,便可以像图下这样写:

mysql数据库名字如何修改 mysql 修改数据库名_linux 指定库名 登录mysql_34

灵活变通,根据自己需要写出相应的sql语句

        3.修改表数据

UPDATE语句:用于修改、更新表中的数据记录。语句格式如下所示。

UPDATE 表名 SET字段名1=字段值1 字段名2 = 字段值2 WHERE 条件表达式

如图所示:修改auth库中的student中的张三的性别为女,年龄为20

mysql数据库名字如何修改 mysql 修改数据库名_数据库_35

        4.删除数据记录

DELETE 语句:用于删除表中指定的数据记录。语句格式如下所示。

DELETE FROM 表名 WHERE 条件表达式

如图所示:删除赵七

mysql数据库名字如何修改 mysql 修改数据库名_数据库_36

六,数据库用户授权

        MySOL 数据库的root用户账号拥有对所有库、表的全部权限,频繁使用root 账号会给数据库服务器带来一定的安全风险。实际工作中,通常会建立一些低权限的用户,只负责一部分库,表的管理和维护操作,甚至可以对查询、修改、删除记录等各种操作做进一步的细化限制,从而将数据库的风险降至最低。

    1.授予权限

GRANT 语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT 语句将会创建新的用户,否则,GRANT 语句用于修改用户信息。语句格式如下所示。

GRANT  权限列表  oN  库名.表名  To  用户名来源地址  [IDENTIFIEDBY ’密码!]

使用GRANT语句时,需要注意的事项如下。

权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如“select,insert,update,delete“。

使用“all”表示所有权限,可授权执行任何操作。

库名,表名:用于指定授权操作的库和表的名称,其中可以使用通配符“*”。例如,使用

“auth.*”表示授权操作的对象为auth库中的所有表。

用户名@来源地址:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.bdqn.com"“192.168.1.%”等。

DENTFEDBY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略

“DENTIFIED BY"部分,则用户的密码将为空。

        执行以下操作可以添加一个名为xiaoqi”的数据库用户,并允许其从本机访问,对auth库中的sutdent具有查询权限,验证密码为“pwd@123.使用GRANT语句授权的用户记录,会保存到mysql库的user、db.host、tables_priv等相关表中,无须刷新即可生效。

mysql数据库名字如何修改 mysql 修改数据库名_字段_37

验证:

    1).切换Centos光盘,使用yum安装mysql客户端

mysql数据库名字如何修改 mysql 修改数据库名_linux 指定库名 登录mysql_38

mysql数据库名字如何修改 mysql 修改数据库名_数据库_39

       2).使用xiaoqi登录 

mysql数据库名字如何修改 mysql 修改数据库名_mysql_40

        3).查看是否拥有查询权限

mysql数据库名字如何修改 mysql 修改数据库名_数据库_41

        4).查看是否拥有删除权限

mysql数据库名字如何修改 mysql 修改数据库名_mysql_42

        2.查看授权

        当我们忘记授权指定用户指定主机时,可以查看指定用户指定主机拥有得数据库权限

SHOW GRANTS 语句:专门用来查看数据库用户的授权信息,通过FOR子句可指定查看的用户对象(必须与授权时使用的对象名称一致)。语句格式如下所示。

SHOW GRANTS FOR 用户名 来源地址

    1)登录mysql数据库查看xiaoqi在本机的权限

mysql数据库名字如何修改 mysql 修改数据库名_字段_43

        3,撤销权限

REVOKE 语句:用于撤销指定用户的数据库权限,撤销权限后的用户仍然可以连接到MySOL服务器,但将被禁止执行对应的数据库操作。语句格式如下所示。

REVOKE  权限列表  oN   数据库名.表名  FROM  用户名来源地址 

如图所示:执行以下操作可以撤销用户xiaoqi从本机访问数据库auth的所有权限。

mysql数据库名字如何修改 mysql 修改数据库名_mysql_44

查看'xiaoqi'@'localhost'的权限

mysql数据库名字如何修改 mysql 修改数据库名_mysql_45

七,实验案例

mysql数据库名字如何修改 mysql 修改数据库名_字段

需求描述

  1. 编译安装MySOL服务器,并添加为mysqld系统服务。

参考上述,进行配置

测试:

mysql数据库名字如何修改 mysql 修改数据库名_数据库_47

2.为MySOL数据库的root用户设置密码,删除用户名、密码为空的用户记录。

mysql数据库名字如何修改 mysql 修改数据库名_数据库_24

mysql数据库名字如何修改 mysql 修改数据库名_mysql数据库名字如何修改_49

3.新建名为“bdqn”的库,授权用户rundb从本机访问,具有所有操作权限。

        1)新建bdqn库

mysql数据库名字如何修改 mysql 修改数据库名_mysql数据库名字如何修改_50

        2)授权rundb用户从本机访问具有所有操作权限

mysql数据库名字如何修改 mysql 修改数据库名_linux 指定库名 登录mysql_51

4.以rundb用户登录,在bdqn库中创建stuinfo表,并录入数据,如表3-2所示。

    1)使用rundb登录

mysql数据库名字如何修改 mysql 修改数据库名_mysql_52

    2)在bdqn库中创建stuinfo表

mysql数据库名字如何修改 mysql 修改数据库名_linux 指定库名 登录mysql_53

    3)插入数据

mysql数据库名字如何修改 mysql 修改数据库名_数据库_54

    4)查看数据

mysql数据库名字如何修改 mysql 修改数据库名_mysql数据库名字如何修改_55

掌握了上述各种MySOL管理命令的使用,已经可以满足大多数网络管理员(非专职数据库管理员)的工作需要。若希望了解更多关于MySOL语句的知识,可以参阅MySOL的在线参考手册。