MariaDB数据库安装与操作

一、centos6.5安装MariaDB

1、MariaDB版本:MariaDB 5.5.36

2、安装过程

在/etc/yum.repos.d/目录创建MariaDB.repo文件,内容如下:

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/5.5/centos6-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

#yum install MariaDB-server MariaDB-client -y

#

二、centos7.2安装MariaDB

#yum install mariadb mariadb-server -y

启动服务

#systemctl start mariadb

#systemctl enable mariadb

配置Mariadb数据库的字符设置

在/etc/my.cnf中的mysqld标签下,新增字符设置:

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

 在/etc/my.cnf.d/client.cnf中的client标签下,新增字符设置:

default-character-set=utf8

设置完成后,重新启动mariadb-server, 将设置生效

查看配置是否生效:进入数据库

#show variables like "%character%";

#show variables like "%collation%";


修改数据库密码(密码设置为zx123456)

#mysql_secure_installation

查看当前登录用户

select user();

Mariadb的用户存放在mysql库里面

show databases;

查看表user

select host,user,password from mysql.user;

给用户设置口令

(1)添加密码可以在user表中看到(update)

uptate user set password='Zx123456' where user='user01' and host='localhost';

(2)添加密码可以在user表中看不到(update)

uptate user set password=password('zx123456') where user='user01' and host='localhost';

(3)修改当前用户的密码(set)

(4)修改指定用户密码

(5)如果root用户原来有密码,输入原来密码后,修改生效

创建新用户

(1)创建用户(用户:user02)

(2)创建指定只能本地登录的用户(用户:user03)

#MariaDB [(none)]> create user user03@localhost

(3)创建用户并对其进行授权

添加一个用户名为user04对mysql数据库下的user表有select、update权限,密码为(zx123456)

grant  select.update on mysql.user to user04 identified by 'zx123456';

添加一个用户名为user05对user数据库下的user表有所有权限,密码为zx123456

grant all on mysql.user to user05 identified by 'zx123456';

删除用户

(1)删除默认创建的用户

drop mysql.user user06

(2)删除只能本地登录的用户

drop user user03@'localhost';

回收用户权限

(1)收回用户的select权限

客户端登录MariaDB

#mysql -u xxx -p -h 192.168.100.10

忘记密码进入数据库

(1)停止数据库

#systemctl stop mariadb

(2)配置文件添加一行(单用户模式)

#vim /etc/my.cnf

[mysqld]

skip-grant-tables

(3)重启数据库生效

#systemctl restart mariadb

(4)进入数据库修改root密码

#mysql

select user();

use mysql;

update user set password=password('xxxxxx') where user='root' and host='localhost';

修改完后记得把之前添加的一行配置文件删除

刷新权限表, 让各种设置立即生效

#MariaDB [(none)]> flush privileges;

命令:

在mysql、mariadb、oracle、sql语言都要以“;”或者“\G”结束

system 后面可以使用shell命令

#MariaDB [mysql]> system ls /root

source 后面可以使用shell命令

vim /root/aa.sql

use mysql;

show tables;

MariaDB [mysql]> source /root/aa.sql

查看MariaDB系统变量

show variables like 'innodb%';

查询当前登录用户

select user();

查看拥有哪些库

命令查看:show databases;

文件查看:直接查看/var/lib/mysql下文件

登录到一个库

use mysql;

select database();

建立一个新的数据库(whuang)

create database whuang;

show databases;

同样在/var/lib/mysql/下会多出一个文件

status 查看mariadb属性

查看数据库的属性

show create database whuang;

更改库的编码

alter database whuang charset=utf8;

删除数据库

show databases;

drop database whuang;

查看库中的表(比如查看mysql库中的表)

use mysql;

show tables;

创建一个表

use whuang;

create table t1 (id int, name varchar(10), mail varchar(30));

查看创建表的结构

desc t1;

查看创建表的属性

show create table t1;

给表里面添加记录

1、列和值要一 一对应,字符串要用单引号括起来

insert into t1 (id, name, mail) values (1, 'huangweiping', 'whuang@zshield.net');

2、如果向表中所有列插入数据,可以不写列名

insert into t1 values (2,'tchen','tchen@zshield.net')

3、向指定列插入数据

insert into t1 (id,mail) values (3,'xtian@zshield.net');

4、一次性插入多条数据

insert into t1 values (4,'cailei','cailei@zshield.net'),(5,'lili','lili@zshield.net');

查询表中的数据

1、查看所有数据

select * from t1;

2、指定的列

select id,mail from t1;

3、使用where过滤查看

查看name='tchen'

select * from t1 where name='tchen';

查看列为“id、name”“name = tchen”

select id,name from t1 where name='tchen';

4、使用“and、or”查询

(1)查看“id = 1”“name = huangweipi”

select * from t1 where id=1 and name='huangweipi';

select * from t1 where id=2 or name='tchen';

(2)查看“ id > 4” 或者 “ id < 2 ”的

select * from t1 where id>4 or id<2;

5、使用“in”查询

查看 “id”为“ 1、2、3”的

select * from t1 where id in (1,2,3) ;

相当于

select * from t1 where id=1 or id=2 or id=3;

6、使用“between…and…”查询

查看 “id” 为 “2、3、4”的

select * from t1 where id between 2 and 4;

相当于

select * from t1 where id>=2 and id<=4;

备注:在实际生产中使用“and、or”好,因为“between…and…”和“in”会到搜索引擎里面把“between…and…”转换为“and”或者“or”

7、按字符查找 like

_ :相当于shell的“ ?” ,正则的“ . ”

% :相当于shell的“ * ” ,正则 “.*”

(1)查看“name”以“huang”开头的

select * from t1 where name like 'huang%';

(2)查看“name”以“huang”开头后面还有5个字符的

select * from t1 where name like 'huang_____';

8、使用正则表达式(加入regexp)

_:任意一个字符

^:以xxx开头

$:以xxx结尾

*:前面字符连续出现"0---多"次

+:前面字符连续出现"1---多"次

?:前面连续出现"0---1"次

{3}:前面字符连续出现三次

{3,}:前面字符连续出现"3---多"次

{3,5}:前面字符连续出现"3---5"次

(1)查看name为4个字符的

select * from tt where name regexp '^....$';

(2)查看name已"z"开头并且"z"连续出现一次以上

select * from tt where name regexp '^z+';

(3)查看name以"n"结尾的

select * from tt where name regexp 'n$';

复制表

1、只复制表结构

2、复制数据

3、复制整个表结构和数据

删除记录

一定要加上where约束,没有where就删除整个表;

删除整个表的数据

(1)delete

(2)truncate

修改数据

修改表结构

一、增加列

(1)默认添加是添加到最后

(2)增加到第一列

(3)增加列到id字段后;

二、删除列

删除表

更改表的编码

概念

1、列是存储在表中的一块数据;行是一组能够描述某个事物的列的集合;列和行构成了表。

2、字符(varchar)、日期(date)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342