linux 使用mariadb数据库(mysql)

概述
MYSQL 数据库管理系统被 Oracle 公司收购后从开源换向到了封闭,导致包括红帽在内的许多 Linux 发行版选择了 MariaDB。本文讲解对数据表单的新建、搜索、更新、插入、删除等常用操作以及数据库内用户的创建与授权,数据库的备份与恢复方法,不仅满足了 RHCE 考题要求,还能帮助您的运维工作。

MYSQL 是一款大家都非常熟知的数据库管理系统,技术成熟、配置简单、开源免费并且有良好的扩展性,但是 MYSQL在被 Oracle 公司收购后日渐陷从开源转变为了封闭,缓慢的更新让众多 Linux 发行版(如红帽 RHEL7、Fedora、Centos、OpenSUSE、Slackware 等等)以及诸多已经决定放弃使用这个往日最具人气的数据库管理系统,而转向到了 MariaDB。MariaDB 是 MYSQL 数据库管理系统的一个由开源社区维护的分支产品,完全兼容于 MYSQL,坦白讲虽然 Google 与Wikipedia 这样的行业巨头已经采用了 MariaDB,但并不意味着会比 MYSQL 有明显的性能提升,而是从技术垄断角度作出的决定。

一 部署 mariadb服务程序:
1.安装: RHEL7中的mariadb相关包:mariadb-server maraidb(安装mariadb-server的同时会自动安装上mariadb)

[root@server0 ~]# yum -y install mariadb-server

2.重启服务:

[root@server0 ~]# systemctl restart mariadb
[root@server0 ~]# systemctl enable mariadb

3.无密码登录状态:

[root@server0 ~]# mysql  (进入数据库)
MariaDB [(none)]> 
MariaDB [(none)]> show databases; (查看数据库目录)
MariaDB [(none)]> create database kty;(创建一个kty的库)
MariaDB [(none)]> drop database kty;(删除kty的库)
exit (退出数据库)

二: 为数据库管理员设置密码
1.数据库管理员root,用户信息存储在mysql数据库中的user表上
2.设置数据库管理员root密码(密码简单的设为123)

[root@server0 ~]# mysqladmin -u root password '123'

3.登录:

[root@server0 ~]# mysql -u root -p    #(交互式)
Enter password: 123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
###############################################################
[root@server0 ~]# mysql -u root -p123    #(非交互式登录)

4.修改密码:

[root@server0 ~]# mysqladmin -u root -p123 password '111'

5.数据库主配置文件: /etc/my.cnf
6.确认监听状态:

[root@server0 ~]# netstat  -antpu | grep  :3306

7.创建一个数据库

[root@server0 ~]# mysql -u root -p123 
MariaDB [(none)]> create database nsd;

三 数据库恢复数据:
1.下载备份文件

[root@server0 ~]# wget http://classroom.example.com/pub/materials/users.sql

2.linux命令行,倒入数据到nsd库

[root@server0 ~]# mysql -u root -p111 nsd < users.sql

四: 进行表格操作

1.进入数据库nsd :MariaDB [(none)]> use nsd;  
 查看所有数据库表: MariaDB [nsd]> show tables;
                 +---------------+
				 | Tables_in_nsd |
				 +---------------+
				 | base          |
				 | location      |
  查看数据库表的字段内容:MariaDB [nsd]> select * from base;
  查看表的所有字段信息:MariaDB [nsd]> describe base;
  查看表的几个字段信息:MariaDB [nsd]> select id,name,password from base;
  在mysql库中查看nsd库中base表的字段内容:MariaDB [mysql]> select * from nsd.base;
  查询base表中密码为123的字段内容:MariaDB [nsd]> select * from base where password='123';
  查询base表中密码是123或者456的字段内容:MariaDB [nsd]> select * from base where password='123' or password='456';
  查询base表中密码是123而且名字是tom的字段内容:MariaDB [nsd]> select * from base where password='123' and name='tom'
 2.增加:
   MariaDB [nsd]> insert base values (6,'Barbara',123);
   MariaDB [nsd]> insert location values (6,'sunnyvale');
 3.更改:
   将name字段为tom的password字段内容改为111
   MariaDB [nsd]> update base set password='111' where name='tom';  
   将id为4的name字段内容改为lily
   MariaDB [nsd]> update base set name='lily' where id='4'; 
 4.删除:
   删除mysql数据库中密码(password字段)为空的用户信息
   MariaDB [mysql]> delete from user where password='';  
   删除nsd数据库
   MariaDB [nsd]> drop database nsd;
 5.多条件查找并计数:
   使用数据库nsd,通过SQL查询回答:姓名是Barbara居住在Sunnyvale有几个人?
   MariaDB [nsd]>select * from base,location where base.name='Barbara' 
                 and location.city='Sunnyvale' and base.id=location.id;

五 数据库授权:

1.创建数据库用户的命令:CREATE USER 用户名@主机名 IDENTIFIED BY ‘密码’;
  MariaDB [(none)]> create user lisi@localhost identified by '111';
2.授权:
  MariaDB [(none)]> grant select on nsd.* to lisi@localhost identified by '111';(lisi 用户对数据库nsd中的所有表具有查询权限)
3.数据库 GRANT 命令的授权操作常用方案:
命令                                         作用
GRANT 权限 ON 数据库.表单名称 TO 用户名@主机名 对某个特定数据库中的特定表单给予授权。
GRANT 权限 ON 数据库.* TO 用户名@主机名 对某个特定数据库中的所有表单给予授权。
GRANT 权限 ON *.* TO 用户名@主机名 对所有数据库及所有表单给予授权。
GRANT 权限 1,权限 2 ON 数据库.* TO 用户名@主机名 对某个数据库中的所有表单给予多个授权。
GRANT ALL PRIVILEGES ON *.* TO 用户名@主机名 对所有数据库及所有表单给予全部授权,(谨慎操作)

猜你喜欢

转载自blog.csdn.net/weixin_42104231/article/details/82734950