专栏首页北京马哥教育数据库之mariadb整体概述

数据库之mariadb整体概述

一、数据库的安装方式及其安装步骤

1、安装方式

rpm包安装,yum安装,二进制包安装,编译安装

2、安装步骤 (本文是使用二进制包安装)

1)下载mariadb相应版本的数据库,解压

tar xf mariadb-5.5.48-linux-86_64.tar.gz -C /usr/local/

2)创建软链接及其创建用户和存放数据目录和授权其目录文件

cd /usr/local

ln -sv mariasb-5.5.48 mysql

chown -R root.mysql mysql

groupadd -r mysql

useradd -r -g mysql mysql

mkdir /mydata/data -pv

chown -R mysql.mysql /mydata/data

3)给数据库提供配置文件及其启动脚本

cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf

cp /usr/local/mysql/support-files/my.server /etc/init.d/mysqld

chkconfig --add /etc/init.d/mysqld

chkconfig mysqld on

4)给/etc/my.cnf加上如下项

datadir=/mydata/data

skip-name-resolve=ON

innodb-file-per-table=ON

5)初始化数据库及其启动数据库

/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata/data

service mysqld start

6)执行mysql_secure_installation命令设置密码及其删除匿名用户等操作

二、MariaDB基础

1、配置文件查找次序

/etc/my.cnf/-->/etc/mysql/my.cnf-->~/.my.cnf

2、mariadb的命令行交互式客服端工具

mysql[options] [database]

常用选项:

-u:username,用户名,默认为root

-h:host远程主机或地址,默认为localhost

-p:password,用户的密码

-D:database_name,设置指定连接库

-e:直接在命令行运行mysql数据库中的命令

实例:mysql -uroot -hlocalhost -p mysql -utestuser -h10.1.%.% -p mysql -uroot -p -e 'show databases';

图示:

3、mariadb数据库命令行客服端命令

常用帮助参数如下注释

4、数据库常用数据类型

1)字符型

char,varchar,binary,varbinary,txt,blob...

2)数值型

int,float,double,tinyint...

3)枚举型

set,enum

4)时间日期型

date,time,datetime,timestamp,year

5)数据类型修饰符

unsigned,not null,default

三、服务端命令

1、数据定义语言(DDL),主要用于管理数据库组件,例如索引,视图,用户,存储过程,主要命令有:create,alter,drop。

对库的操作:

创建:create

create {database|schema} [if not exists] db_name

修改:alter

alter {database|schema} [db_name]

删除:drop

drop {database|schema} [if exists] {db_name}

查看支持的字符集:show character set

查看支持的所有排序的规则:show collation;

图示:

对表的操作:

创建表:

create [temporary] table [if not exists] tbl_name

修改表:

alter [online|offline] [ignore] table tbl_name

字段

添加:add [column] col_name column_definition

删除:drop [column] col_name

修改:change [column] old_col_name new_col_name column_definition

modify [column] col_name column_definition

键:

添加:ADD [CONSTRAINT [symbol]] PRIMARY KEY

add {primary key unique key foreign}(col1,col2...)

删除:

主键:drop primary key

外键:drop foreign key fk_name

索引

添加:add {index|key} {index_name}

删除:drop {index|key} index_name

主要实例如下:

图示:

创建库、表及其查看表结构

添加和修改字段名字及其类型

修改主键及其添加主键

查看建表信息及其表的状态信息

2、数据操纵语言(DML),主要用于管理表中的数据,实现数据的增删改查。

插入数据:insert into

insert into tbl_name [cols....] values (val1,val2,...)

实例:insert into students (id,name) value (1,'alren');

insert into students values (2,'alren',29,'m','one');

查询数据: select

select [col1,col2,...] from tbl_name where clause;

实例:select * from students where id=1;

select name,age from students where age>11 and age<20;

select name,age from students where age between 11 and 20;

select name,age from students where name rlike 'en$';

select age,sex from students where age is not;

select age,sex from students where age is not null;

select id,name from students order by id desc;

select id,name,age from students order by id asc;

更新数据:update

update [low_priority] [ignore] table_reference

update students set age=age+10 where name like '%lren';

删除数据:delete from

delete from tbl_name where clause;

delete from students; #删除表中的所有数据,很危险,谨慎操纵。

delete from students order by age desc limit 20;

图示:

修改表为自增长

插入数据两种方式

查询表中数据

更新数据

删除数据

四、创建用户及其授权管理

1、创建用户账号

create user 'username'@'host' [indentified by 'password']

实例:create user 'testuser'@'10.1.10.%.%' identified by 'pass';

2、删除用户账号

DROP USER user [, user] ...

drop user 'username'@'host'

图示:

删除和授权用户

测试是否授权成功

远程登录测试成功

3、授权管理

grant privileges_type on [object_type] db_name.tabl_name to 'username'@'host' identified by 'password'

privileges_type:all,create,alter,drop,delete,update,insert,select

库表的对应有如下关系:db_name.tbl_name

*.*:所有库的中的所有表

db_name.*:指定库的所有表

db_name.tbl_name:指定库的指定表

db_name.routine_name:指定库上的存储函数或过程

图示:

创建test用户为其授权测试

授予test用户所有的权限

回收用户权限

查看当前用户及其指定用户授权信息

授权一用户只给查询和插入权限,则除此权限外其他权限均无

作者:小耳朵

来源:http://purify.blog.51cto.com/10572011/1860056

本文分享自微信公众号 - 马哥Linux运维(magedu-Linux),作者:马哥教育

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-01-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 大神带你 20 分钟学会 Ansible !

    小小科
  • MySQL/MariaDB基础性知识及DDL操作详解

    前言 MySQL/MariaDB是一个开放源码的小型关联式数据库管理系统,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降...

    小小科
  • CentOS 6.5上搭建Hadoop环境详解

    本文详细记录在开发服务器CentOS 6.5上搭建Hadoop的详细过程。 ssh连接免密码配置 由于配置过程中需要频繁的进行ssh连接到开发服务器执行命令以及...

    小小科
  • golang fmt(格式换 I O接口)

    fmt 方法可以大致分为 print, scan两类, 根据基础方法可以构建特定方法。

    copy_left
  • Python操作redis数据库

      redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、se...

    马一特
  • Oracle通过substr,instr,translate函数的组合获取日期分割表

    写这一篇文章也是因为项目从SQL数据库导入Oracle数据库中遇到的问题,主要是我们要导入的数据有年月的分割表的查询。

    Vaccae
  • redis缓存数据库

    NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应...

    菲宇
  • 【Python基础】函数的返回

    很多时候,函数并非直接输出,相反,它可以处理一些数据,并返回一个值或者一组值,称之为返回值。

    DataScience
  • 图形数据库neo4j——(2)Cypher

    羊羽shine
  • Python 分布式缓存之Reids数据类型操作详解

    redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护...

    砸漏

扫码关注云+社区

领取腾讯云代金券