搜公众号
推荐 原创 视频 Java开发 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库
Lambda在线 > 马哥Linux运维 > 数据库之mariadb整体概述

数据库之mariadb整体概述

马哥Linux运维 2018-01-26
举报



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

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整体概述


二、MariaDB基础

1、配置文件查找次序

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


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

mysql[options] [database] 

常用选项: 

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

 -p:password,用户的密码 

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

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

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


图示: 

数据库之mariadb整体概述


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

常用帮助参数如下注释

数据库之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;


图示: 

数据库之mariadb整体概述


对表的操作: 

创建表: 

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  


主要实例如下:

数据库之mariadb整体概述


图示:

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

数据库之mariadb整体概述


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

数据库之mariadb整体概述


修改主键及其添加主键

数据库之mariadb整体概述


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

数据库之mariadb整体概述


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;    


图示:

修改表为自增长

数据库之mariadb整体概述


插入数据两种方式

数据库之mariadb整体概述


查询表中数据

数据库之mariadb整体概述


更新数据

数据库之mariadb整体概述


删除数据

数据库之mariadb整体概述


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

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' 


图示:

删除和授权用户

数据库之mariadb整体概述


测试是否授权成功

数据库之mariadb整体概述


远程登录测试成功

数据库之mariadb整体概述


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用户为其授权测试

数据库之mariadb整体概述


授予test用户所有的权限

数据库之mariadb整体概述


回收用户权限

数据库之mariadb整体概述


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

数据库之mariadb整体概述


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

数据库之mariadb整体概述


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




点击“阅读原文”查看更多技术文章


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《数据库之mariadb整体概述》的版权归原作者「马哥Linux运维」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

举报