美文网首页
MariaDB数据库安装与操作

MariaDB数据库安装与操作

作者: 指间_流年 | 来源:发表于2020-05-24 11:43 被阅读0次

    一、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)

    相关文章

      网友评论

          本文标题:MariaDB数据库安装与操作

          本文链接:https://www.haomeiwen.com/subject/wfcomxtx.html