MySQL的基本设定
本次博文主要分为三部分:搭建数据库环境、数据库密码的更改、以及用户授权管理。
一、搭建数据库环境
1、安装mariadb-server
[root@dns /]# yum install mariadb-server -y
2、开启mariadb
[root@localhost /]# systemctl start mariadb
3.编辑/etc/my.cnf文件,添加 skip-networking=1
做该操作是因为初始情况下数据库的端口是打开的状态,如下图:
为了安全起见,我们通过编辑配置文件的方式将端口关闭:
[root@localhost /]# vim /etc/my.cnf
重启网络后再次查看端口的状态:
4.数据库的安全初始化:
# 输入命令 mysql_secure_installation 开始数据库的安全初始化:
[root@localhost /]# mysql_secure_installation
# 接下来让输入当前数据库密码,如下图,因为第一次安装数据库后默认没有密码,按‘ ENTER’ 键下一步:
注意:MySQL数据库管理员的root和Linux账号的root是完全无关的。因为MySQL数据库软件也是个多用户的操作环境,只是在该软件内恰好有个管理者账号也是root而已。
# 接下来让我们设置数据库root用户的密码:
# 下文的设置都选择 ‘ Y‘:
# 5. 初始化已经完成,现在进行测试:
使用root用户登陆数据库,出现下图字符表明成功登陆进数据库:
二、数据库root用户密码的更改
########## 情况一: 已知root用户密码
[root@localhost /]# mysqladmin -uroot -predhat password 245room
经过修改 旧密码已经不能 登陆,更改的新密码能够登陆数据库。
################ 情况二: 忘记root用户密码
# 1.关闭服务:
[root@localhost /]# systemctl stop mariadb.service
# 2.进入数据库的安全模式:
此步操作相当于linux系统的单用户模式,该操作可以跳过数据库系统认证授权表这一步,所以登陆时可以免密码登陆:
免密登陆mysql数据库:
# 3.修改root用户密码:
MariaDB [mysql]> UPDATE mysql.user SET password=password('redhat') WHERE User='root'
查看我们修改的root用户的密码:
我们发现修改的密码为加密的格式,这种方式安全度高。
我们也可以将密码转化为明文的格式:
MariaDB [mysql]> UPDATE mysql.user SET password=('redhat') WHERE User= 'root';
# 4.清空缓存信息(没有此步骤,则可能会出现新旧密码都能登陆,从而影响正常使用)
## 先查找与mysql相关的进程:
[root@localhost ~]# ps aux | grep mysql
## 然后结束这些进程:
# 5. 测试修改密码是否成功:
先开启服务:
[root@server ~]# systemctl start mariadb
再用新密码登陆:
结果证明密码修改成功。
三、mrsql的用户授权:
# 1. 添加数据库新用户spring,密码为123:
MariaDB [(none)]> create user spring@localhost identified by '123'; ##### 创建一个新用户spring ,密码为123
查看添加的新用户spring:
MariaDB [(none)]> select user,host,password from mysql.user;
用新建的用户登录数据库:
[root@localhost ~]# mysql -uspring -p123
登陆成功。
但是该用户对数据库无任何权限,什么操作也不能进行:
如下图,显示库时不能看见任何库文件(注意information_schema这个文件是类似于数据库说明书的东西,不是库文件):
我们用命令查看spring 用户的权限情况:
MariaDB [(none)]> SHOW GRANTS for spring@localhost;
显示无任何权限。
# 2. 给新建用户授权浏览权限:
第一步,用root用户登陆进数据库:
第二步,给用户spring授权:
MariaDB [(none)]> GRANT SELECT ON 246room.* TO spring@localhost; ### 授予spring用户浏览246room这个库的所有数据的权限
载入授权表:
查看权限是否生效,如下图:
MariaDB [(none)]> SHOW GRANTS FOR spring@localhost;
用spring户用测试权限是否生效:
如下图,库文件已经能查看了:
如下图,能查看该库中的表格了:
也能查看表格的内容了:
# 3.撤销用户授权:
先查看spring用户都有什么权限:
移除对spring用户的 SELECT和INSERT权限:
MariaDB [(none)]> REVOKE SELECT,INSERT ON 246room.* FROM spring@localhost;
再次查看spring用户的权限时,如下图所示权限已被撤销:
# 4. 删除用户:
查看spring用户:
删除spring用户:
MariaDB [mysql]> DROP USER spring@localhost;
再次查看用户时,spring用户已经不存在: