linux-运维进阶-23 MariaDB数据库管理系统
概念解析
MariaDB数据库管理系统
初始化MariaDB数据库
安装和初始化mariadb数据库服务
| 1 | [root@localhost ~]# yum -y install mariadb mariadb-server | 
初始化数据库
- 设置root管理员在数据库中的密码值(注意,该密码并非root管理员在系统中的密码,这里的密码值默认应该为空,可直接按回车键)。
- 设置root管理员在数据库中的专有密码。
- 随后删除匿名账户,并使用root管理员从远程登录数据库,以确保数据库上运行的业务的安全性。
- 删除默认的测试数据库,取消测试数据库的一系列访问权限。
- 刷新授权列表,让初始化的设定立即生效。
| 1 | [root@localhost ~]# mysql_secure_installation | 
登录数据库
| 1 | [root@localhost ~]# mysql -u root -p | 
查看数据库
| 1 | MariaDB [(none)]> show databases; | 
修改当前用户的密码
| 1 | MariaDB [(none)]> set password = password('123456'); | 
管理账户及授权
创建一个用户并设置密码
| 1 | MariaDB [(none)]> create user aaa@localhost identified by '123456' | 
查看这个用户的指定属性
| 1 | MariaDB [(none)]> use mysql | 
为用户赋予权限
grant命令用于为账户进行授权
| 命令 | 作用 | 
|---|---|
| GRANT 权限 ON 数据库.表单名称 TO 账户名@主机名 | 对某个特定数据库中的特定表单给予授权 | 
| GRANT权限ON数据库.*TO账户名@主机名 | 对某个特定数据库中的所有表单给予授权 | 
| GRANT权限ON.TO账户名@主机名 | 对所有数据库及所有表单给予授权 | 
| GRANT权限1,权限2 ON 数据库.*TO账户名@主机名 | 对某个数据库中的所有表单给予多个授权 | 
| GRANT ALL PRIVILEGES ON .TO账户名@主机名 | 对所有数据库及所有表单给予全部授权(需谨慎操作) | 
为用户aaa授予增、删、改、查的权限
| 1 | MariaDB [mysql]> grant select,update,insert on mysql.user to aaa@localhost; | 
移除aaa用户增、删、改、查的权限
| 1 | MariaDB [mysql]> revoke select,update,insert on mysql.user from aaa@localhost; | 
创建数据库与表单
| 命令 | 作用 | 
|---|---|
| CREATE DATABASE 数据库名称 | 创建新的数据库 | 
| DESCRIBE 表单名称 | 描述表单 | 
| UPDATE表单名称SET attribute=新值WHERE attribute>原始值 | 更新表单中的数据 | 
| USE数据库名称 | 指定使用的数据库 | 
| SHOW databases | 显示当前已有的数据库 | 
| SHOW tables | 显示当前数据库中的表单 | 
| SELECT * FROM表单名称 | 从表单中选中某个记录值 | 
| DELETE FROM表单名WHERE attribute=值 | 从表单中删除某个记录值 | 
创建数据库
| 1 | MariaDB [mysql]> create database DBaaa; | 
使用这个库以及在新建的库里新建数据表,并且查询新建表的结构
| 1 | MariaDB [mysql]> use DBaaa; | 
管理表单及数据——增删改查
插入一条学生信息(增)
| 1 | MariaDB [DBaaa]> select * from student; | 
修改这条信息(改)
如果数据库里只有这一个人,我们可以这样修改他的信息,即修改所有成员的年龄为20
| 1 | MariaDB [DBaaa]> update student set age=20; | 
如果数据库里不只这一个人,如下,我们再加几个,然后我们可以这样修改他的信息,即针对某个人修改其年龄。
| 1 | MariaDB [DBaaa]> insert into student(name,school,age) values('lisi','qinghua',16); | 
删除数据库的信息(删)
如果数据库里不只有一个人,我们可以这样删除他的信息,即针对某个人删除其信息
| 1 | MariaDB [DBaaa]> select * from student; | 
一次性删除所有表项:
| 1 | MariaDB [DBaaa]> select * from student; | 
数据表中插入多条信息
| 1 | MariaDB [DBaaa]> select * from student; | 
查询数据库中的数据——查
 查找某条信息,要想让查询结果更加精准,就需要结合使用select与where命令了。其中,where命令是在数据库中进行匹配查询的条件命令。通过设置查询条件,就可以仅查找出符合该条件的数据
| 参数 | 作用 | 
|---|---|
| = | 相等 | 
| <>或!= | 不相等 | 
| > | 大于 | 
| < | 小于 | 
| >= | 大于或等于 | 
| <= | 小于或等于 | 
| BETWEEN | 在某个范围内 | 
| LIKE | 搜索一个例子 | 
| IN | 在列中搜索多个值 | 
| 1 | MariaDB [DBaaa]> select * from student; | 
数据库的备份和恢复
mysqldump命令用于备份数据库数据,格式为“mysqldump [参数] [数据库名称]”。
其中参数与mysql命令大致相同,-u参数用于定义登录数据库的账户名称,-p参数代表密码提示符
| 1 | [root@localhost ~]# mysqldump -u root -p DBaaa > /root/DBaaa.dump | 
尝试删除eagleslab数据库,然后再恢复
| 1 | [root@localhost ~]# mysql -u root -p | 
将刚刚备份的文件导入数据库
| 1 | [root@localhost ~]# mysql -u root -p DBaaa < /root/DBaaa.dump | 
数据库密码泄露
不安全的数据库登录方式:
| 1 | mysql -uroot -p123456 | 
 这种登录方式可以用history 查看到数据库账户密码,是极不安全的
| 1 | [root@localhost ~]# mysql -uroot -p123456 | 
建议还是用正常的mysql -u root -p
再输入看不见的密码比较好
| 1 | [root@localhost ~]# mysql -u root -p | 
本篇到此结束
 
        