欢迎投稿

今日深度:

MariaDB二进制安装步骤以及数据库的基本操作,mariadb安装步骤

MariaDB二进制安装步骤以及数据库的基本操作,mariadb安装步骤


本文索引

  • 前言
  • MariaDB二进制格式安装过程
    • 创建用户mysql
    • 准备二进制文件
    • 修改配置文件
    • 创建系统数据
  • 用户账号管理
    • 创建用户账号
    • 授权用户账号
  • 数据库的基本操作
    • 创建删除数据库
    • 创建删除表
    • 增删改查数据

————————————————————————————————————————————————————————————
前言:

1、数据:描述事物的符号纪录称为数据。描述事物的符号可以是数字,也可以是文字、图形、图像、音频、视频等,数据有多种表现形式,它们都可以经过数字化后存入计算机。
2、数据库:数据库长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
3、数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据库管理软件。数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。它的主要功能包括以下几个方面:(1)数据定义功能。(2)数据组织、存储和管理。(3)数据操纵功能。(4)数据库的事务管理和运行管理。(5)数据库的建立和维护功能。等等……
4、数据库系统:数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
本文接下来主要介绍的数据库管理系统中的一种,Mariadb。

————————————————————————————————————————————————————————————

一、MariaDB二进制格式安装过程

1、创建用户mysql

[root@localhost ~]#useradd  -r -m -d /app/dbdata -s /sbin/nologin mysql 

-r 创建系统用户,默认不创建家目录
-m 强行创建家目录
创建家目录dbdate,纯粹存放数据的目录

2、准备二进制文件

二进制文件是编译完了的文件,已经指定了安装路径了 /usr/local/

[root@localhost ~]#tar xvf mariadb-10.0.32.tar.gz -C /usr/ local/
[root@localhost ~]#ln -sv mariadb mysql

3、修改配置文件

[root@localhost ~]#mkdir /etc/mysqld
[root@localhost ~]#cp /usr/local/mysql/support-files/my-huge.cnf /etc/mysql/my.cnf
[root@localhost ~]#vim /etc/mysql/my.cnf
[mysqld]
port       = 3306  #此行后面添加三行
datadir=/app/dbdata
innodb_file_per_table=on
skip_name_resolve=on

4、创建系统数据

[root@localhost ~]#cd  /usr/local/mysql
[root@localhost ~]#./scripts/mysql_install_db --datedir=/app/dbdata --user=mysql
[root@localhost ~]#cp support-files/mysql.server   /etc/init.d/mysqld
[root@localhost ~]#chkconfig mysqld  on 

此时还不能启动mysql服务,因为还不能写日志文件,当执行后service mysql start

[root@localhost ~]#mkdir /var/log/mariadb/    #创建日志目录
[root@localhost ~]#touch /var/log/mariadb/mariadb.log  #创建日志文件
[root@localhost ~]#setfacl -R -m u:mysql:rwx /var/log/mariadb/   #给日志文件加权限,赋予用户mysql对日志文件读写执行的权限

执行命令 systemctl start mysql 启动成功
执行命令mysql ,不能登陆
因为没有把执行的路劲写入到/etc/profile.d/文件下

[root@localhost ~]#vim /etc/profile.d/mysql.sh   #把执行的路劲的添加到系统的路劲,就可以直接执行mysql登陆
export PATH=/usr/local/mysql/bin/:$PATH  
保存退出生效文件
[root@localhost ~]#. /etc/profile.d/mysql.sh   #生效文件
[root@localhost ~]#systemctl start mysql  启动mysql服务
[root@localhost ~]#ss -ntl  #查看端口,mysql默认服务监听的端口为3306,如下图,3306已打开

MariaDB [(none)]>use mysql     #运行mysql命令,默认空密码登录
MariaDB [(none)]>select user()   #查看当前用户,调用了user函数
MariaDB [(none)]>SELECT User,Host,PasswordFROM user;
MariaDB [(none)]>quit   #quit退出mariadb
[root@localhost ~]#/usr/local/mysql/bin/mysql_secure_installatoin   #安全初始化,这里可以设置密码,
删除匿名用户(任意不用密码直接可以登陆的用户)等,交互式设置,按提示设置即可。
[root@localhost ~]# mysql –u root –p     #登录系统,密码可以放在-p后面,或者回车,交互式输入
MariaDB [(none)]> help     #查看帮助
每个命令都完整形式和简写格式
MariaDB [(none)]> status 或\s     #查看当前mysql服务的状态信息,当前服务,服务版本,当前用户,协议版本,服务端客户端语言格式等等。
#服务端命令:通过mysql协议发往服务器执行并取回结果
#每个命令都必须命令结束符号;默认为分号
MariaDB [(none)]>SELECT VERSION();  #查看当前服务的版本

在centos6状mariaDB也是一样的,只是日志文件路径有所变化

从mysql系统数据库中的user用户表中,查询用户,主机名,密码

————————————————————————————————————————————————————————————
二、用户账号

1、创建用户

用户账号:’user’@’host’
user: 用户名
host: 允许用户通过哪些主机远程连接mysqld服务 IP、网络地址、主机名、通配符(%和_)
创建用户:
CREATE USER ‘username’@’host’ [ IDENTIFIED BY ‘password’ ];

例:

CREATE  USER  'zhang'@'172.18.%.%'  IDENTIFIED BY '12345678';  

在172.18.0.0/16这个网段上的任意主机,安装了mysql客户端的都可以登陆Mariadb服务。

mysql -u ming -p12345678 -h172.18.24.7   #远程登陆172.18.24.7主机上的Mariadb服务

查看当前用户:

mysql>SELECT user();

注意:现在还没有ming这个用户授权。

2、用户授权
权限级别:管理权限、数据库、表、字段、存储例程
db_name.tb_name:
. : 所有库的所表
db_name.* : 指定库的所有表
db_name.tb_name: 指定库的指定表
db_name.routine_name:指定库的存储过程和函数
授权:
grant select ,insert on school.student to ‘zhang’@’172.18.24.6’ ;
授权给zhang用户对school库中的student表查找插入操作权限
grant all on school.* to ‘zhang’@’172.18.24.6’ ;授权给zhang用户对school库中所有的表所有的操作权限
FLUSH RRIVILEGES; 更改权限后,在本机刷新
如果远程还是不能获得权限,需要重启登陆数据库才可刷新权限。
查看指定用户获得的授权:
Help SHOW GRANTS
SHOW GRANTS FOR ‘user’@’host’;
SHOW GRANTS FOR CURRENT_USER[()];

revoke select on school.* from 'zhang'@'172.18.%.%';  #取消权限

重登数据库生效
创建用户zhang并授权

grant  all  on  *.*  to  school.*   to   zhang@'172.18.24.6'  identified  by   "password";    # all   所有权限   *.*   所有数据库的所有表   

————————————————————————————————————————————————————————————
三、数据库基本操作

1、创建删除数据库

(1)创建数据库

MariaDB [(none)]>CREATE DATABASE school;  #创建一个名为school的数据库
MariaDB [(none)]>SHOW DATABASES;  #查看所有的数据库

(2)删除数据库

MariaDB [(none)]>DROP DATABASE school; #删除数据库school

2、创建删除修改表

(1)创建一个表

MariaDB [school]> CREATE TABLE student (id tinyint unsigned primary key,name varchar(20) not null,age tinyint unsigned,sex char(1) default "m");
#创建一个student表,主键为id,共有四个字段,id的数据类型为无符号微整形,name字段数据类型为字符串,
最长为20个字符,不能为空,age字段的数据类型为无符号微整形,sex字段数据类型为字符串,长度为一个字符,默认值为m。

(2)查看表

SHOW TABLES;

(2)创建一个复合主键的表

MariaDB [school]> CREATE TABLE student2 (id tinyint unsigned,name varchar(20) not null,age tinyint unsigned,sex char(1) default "m",primary key (id,name));
#根(1)相比,这里的主键不再是一个字段,而是id和name这两个字段组成的复合主键

(3)修改表

MariaDB [school]>ALTER TABLE student ADD phone char(11) not null after name;  
#在student表中的name字段后面增加一个字段phone,数据类型为字符串,长度为11个字符,不能为空

(4)删除表

DROP TABLE student;   #删除student表  

注意:一般不建议修改现有的表

3、数据的增删改查

(1)、增加表数据
基本语法:
INSERT [ INTO ] table_name(字段1,字段2,……) VAULE (值1,值2,……)….. ;
数据有字符串的需要用双引号引起来,可以添加多条纪录,不要求非空的,不是主键的,可以不写则为空。如果不写字段名,则每条纪录要完整填写。INTO 可写可不写。
举例说明:给表student中添加数据

INSERT INTO student(id,name,age,sex)value(1,"tom",18,"m"),(2,"jerry",20,"f");

(2)、修改表数据
基本语法:
UPDATE table_name SET col1=val1, col2=val2, … [WHERE clause] [ORDER BY ‘col_name’ [DESC]] [LIMIT [m,] n];
举例说明:修改表student中的数据

MariaDB [school]> UPDATE student SET name="liming",age=24 where id=1;

(3)、删除表数据
基本语法:
DELETE FROM tbl_name[WHERE clause] [ORDER BY ‘col_name’ [DESC]] [LIMIT [m,]n];
举例说明:删除student中的数据

MariaDB [school]> DELETE FROM student where name="jerry";

如图,删除了name=Jerry这行,只剩下name=liming这一行

TRUNCATE TABLE table_name; #清空表

MariaDB [school]> truncate table student; 

清空了表,表student为空。
(4)、查询
在使用数据库的时候,用的最多的是就是查询数据了,这里重点讲解下:
重新为表student添加多条纪录。

MariaDB [school]> SELECT * FROM student where age >= 28;  #查询表student中age字段的值大于等于28的纪录

MariaDB [school]> SELECT * FROM student WHERE age IS NULL;  #在表student中查找age字段为NULL的纪录

MariaDB [school]> SELECT * FROM student ORDER BY age ASC LIMIT 2;   #在表student中,以age字段正序排序,取前两条纪录。注意:ASC正序排序,DESC倒叙排序。字母在前,数字在后。

查询的方式很多,这里不再一一截图演示,列出如下几种查询方式,感兴趣的朋友可以创建相同的表,跟着一起做一边,体会查询的方式方法。

SELECT * FROM student WHERE id >=2 and id <=4; #查询id>=2同时id<=4的纪录
SELECT * FROM student WHERE id BETWEEN 2 AND 4;  #查询id字段的值为2到4的纪录,包括2和4.
SELECT * FROM student WHERE name LIKE 't%';  #查询字段为name的值,并且是以l字母开头的值。
SELECT * FROM student WHERE name RLIKE '.*[ih].*';  #这里用到了正则表达式,RLIKE表示这里用正则来查询关键字,查询字段为name,并且字段的值包含i或者h字母的的数据。
SELECT id as stuid,name as stuname FROM students; #在表student中查询字段为id和name的纪录,id的表头由id换成stuid显示,name的表头name换成stuname显示。

4、索引

当表的数据量比较大时,查询操作会比较耗时。建立索引是加快查询速度的有效手段。数据库索引类似于图书后面的索引,能快速定位到需要查询的内容。用户可以根据应用环境的需要在基本表上建立一个或多个索引,以提供多种存取路径,加快查询速度。数据库索引有多种类型,常见索引包括顺序文件上的索引、B+树索引、散列索引、位图索引等。
索引虽然能够加速数据库查询,单需要占用一定的存贮空间,当基本表更新时,索引要进行相应地维护,这些都会增加数据库的负担,因此要根据实际情况有选择有需要的创建索引。
目前SQL标准中没有涉及索引,但是商用关系数据库管理系统都支持索引机制,只是不同的关系数据库管理系统支持的索引类型不同罢了。
一般说来,建立与删除索引由数据库管理员或表的属主,即建立表的人,负责完成。关系型数据库管理系统在执行查询时会自动选择合适的索引作为 存取路劲,用户不必也不能显示的选择索引。索引是管理数据库系统内部实现的技术,属于内模式范畴。

(1)、建立索引

在SQL语言中,建立索引使用CREATE INDEX 语句,其一般格式为
CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名> (<列名>[<次序>] [,[<列名>[<次序>]]]……..);
其中,<表名>是要建立索引的基本表的名字。索引可以建立在该表的一列或多列上,各列名之间用逗号分隔。每个列名后面还可用<次序>指定索引值的排列次序,可选ASC(升序)或DESC(降序),默认值为ASC。
UNQIUE表明此索引的每一个索引值只对应唯一的数据纪录。
CLUSTER表示要建立的索引是聚簇。
举例说明:

CREATE  UNIQUE  INDEX  nameindex  ON  student(name  DESC);   #在student表中创建名为nameindex的降序唯一索引

(2)、查看显示索引

SHOW INDEX FROM student;    #查看student表的索引

(3)、修改索引

已经建立的索引,如果需要对其重新命名,可以使用ALTER INDEX语句。其一般格式为
ALTER INDEX <旧索引名> RENAME TO <新索引名>
举例说明:

ALTER INDEX nameindex RENAME studentname;  #修改索引名nameindex为studentname

(4)、删除索引

索引一经建立就由系统使用和维护,不需要用户干预。建立索引是为了减少系统查询操作的时间,但是如果数据增、删、改频繁,系统会花费许多时间来维护索引,从而降低了查询效率。这时可以删除一些不必要的索引。
在SQL中,删除索引使用DROP INDEX 语句,期一般格式为
DROP INDEX <索引名> ON table_name;
举例说明:

DROP INDEX studentname ON student;   #删除student表中的名为studentname的索引 


本文总结:本文从三个方面讲解了Mariadb数据操作系统,第一部分,通过二进制安装Mariadb,二进制安装可以自定义安装需要的功能,但是安装路劲已经被提前定义好,不易更改,如果想要完全自定义安装路劲和功能,可以编译安装源码。第二部分讲解了用户账号管理,包括创建、删除、授权等操作,授权是对用户操作数据库进行限制,数据是一个企业最重要也是最核心的东西,高度的安全性不言而喻的,因此限制普通用户对数据库操作的权限是很有必要的。第三部分讲解了对数据库的基本操作,包括创建、更改、删除数据库,创建、修改、删除表,添加、更改、查询、删除表中数据,内容比较基础,同时,我们需要思考,如何快速高效的查询数据,以及让数据库系统高效的运作,这就涉及到我们队数据库的调优,后面的博客章节中我会详细的讲解!

www.htsjk.Com true http://www.htsjk.com/mariadb/36500.html NewsArticle MariaDB二进制安装步骤以及数据库的基本操作,mariadb安装步骤 本文索引 前言 MariaDB二进制格式安装过程 创建用户mysql 准备二进制文件 修改配置文件 创建系统数据 用户账号管理 创建用...
相关文章
    暂无相关文章
评论暂时关闭