专栏名称: 马哥Linux运维
马哥linux致力于linux运维培训,连续多年排名第一,订阅者可免费获得学习机会和相关Linux独家实战资料!
目录
相关文章推荐
InfoQ架构头条  ·  DeepSeek爆降AI成本,但算力资源可能 ... ·  3 天前  
51好读  ›  专栏  ›  马哥Linux运维

数据库之mariadb整体概述

马哥Linux运维  · 公众号  · 运维  · 2017-01-21 09:38

正文



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

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

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'


图示:

删除和授权用户







请到「今天看啥」查看全文