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 |
本篇到此结束