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', '[email protected]');

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

insert into t1 values (2,'tchen','[email protected]')

3、向指定列插入数据

insert into t1 (id,mail) values (3,'[email protected]');

4、一次性插入多条数据

insert into t1 values (4,'cailei','[email protected]'),(5,'lili','[email protected]');

查询表中的数据

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)

你可能感兴趣的:(MariaDB数据库安装与操作)