MySQL数据库用户安全策略介绍

安装完MySQL数据库之后,默认的管理员root密码为空,这很不安全。因此需要为root用户设置一个密码。如下图查询之后为空。

在这里插入图片描述
1、为root用户设置密码
进入mysql数据库:use mysql;
更改root用户密码: update user set password=password(‘song123’) where user=root;
退出: exit;
注意:如上操作是不会生效的,再用“mysql -u root”登录的时候,依然是无密码状态,原因在于mysql服务为加速系统效率,会先将用户权限更新到内存中,除非使用实时生效命令会再次刷新内存权限数据。在mysql命令行中执行flush privileges,或重启服务,service mysqld restart
接下来无密码方式就不能登录,要采用以下方式登录
mysql -u root -p 回车后,会提示输入密码,输入自己设置的密码就好
2、忘记密码如何处理
进行免密登录的配置
首先停止MySQL服务,示例如下: service mysql stop
然后,/etc/my.cnf 中在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
保存并且退出vi。 ::?
现在,无须密码即可登录MySQL,然后修改新密码,示例如下:
这时,可以将root密码修改为新密码了,示例如下:
mysql> update mysql.user set password=PASSWORD(“oldboy123”) where user=“root” and host=“localhost”;
mysql> flush privileges; #<==刷新权限使得修改密码生效。
Query OK, 0 rows affected (0.01 sec)
然后重启服务 service mysql restart
3、MySQL创建用户及授权
命令如下:
grant all on stumysql.* to test@localhost identified by ‘song123’;
grant select, insert, update, delete on *.*to test@"%" identified by ‘song123’;
grant all on stumysql. * to test@ ‘192. 168. 111. 118’ identified by ‘song123’
以上三条 grant语句授权参数详解如下:
1、授权 localhost主机通过test用户和song123密码访问本地的stumysql库的所有权限;
2、授权所有主机通过test用户和song123s密码访间本地的 stumysql库的查询、插入、更新、删除权限;
3、授权192.168.111.118主机通过test用户和song123密码访问本地的 stumysql库的所有权限。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值