数据库管理员密码的设置
时间:2022-03-14 00:02
查看一下
mysql>update mysql.user setpassword=password("123") where user=”root” and host=”localhost”; //配置密码 用update更新一下user表里的字段password的数据,更新的密码123
mysql >flush privileges; //刷新
mysql>exit //退出
[root@localhost ~]#service mysql restart //重启服务
[root@localhost ~]mysql -root -p123 //用新密码进入
2.重置管理员密码
需要有MySQL-client-5.6.15-1.el6.x86_64.rpm这个包,mysqladmin这个命令才能用
[root@localhost ~]# mysqladmin -uroot -p password "123456" //设置新密码为“123456”
Enter password: //输入旧密码回车,旧密码正确新密码才能设置成功
[root@localhost ~]#
[root@localhost ~]# mysql -uroot -p123456 //用新密码进入
数据库授权的前期环境配置
1.用两台linux6.4做实验,确保互相能ping通
2.临时关闭selinux
3.永久关闭selinux 【进vim /etc/sysconfig/selinux 配置配置SELINUX=disabled】
步骤操作:
ping 数据库服务器ip地址
[root@localhost~]# service iptables stop //停用防火墙
iptables:清除防火墙规则: [确定]
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:正在卸载模块: [确定]
[root@localhost~]# chkconfig --level 35 iptablesoff //下次开机不启动防火墙
[root@localhost~]# setenforce 0 //临时关闭selinux
[root@localhost~]# vim /etc/sysconfig/selinux //永久关闭selinux
[root@localhost~]# grep disable /etc/sysconfig/selinux
# disabled - No SELinux policy is loaded.
SELINUX=disabled // 配置SELINUX=disabled
[root@localhost ~]#getenforce //查看selinux的运行级别
Permissive
二、mysql数据库服务器登录账户的授权和权限撤销
默认情况下数据库管理员只能从数据库服务器本机登陆。
默认情况下数据库管理从服务器本机登陆的时候才有授权权限。
2.1用户授权
show grants; //登陆账号查看自己的权限
select user,host,password from mysql.user; //查看当前数据库有哪些授权用户账号
show grants for root@‘192.168.10.20‘; //查看授权用户账号root的权限
2.2授权命令的语法格式:
mysql> grant 权限列表 on 数据库 to 用户名@"客户端地址"
>identified by "密码" with grant option;
例子:
mysql> grant all on *.* to root@"192.168.10.10"
mysql>identified by "888" ,
mysql>with grant option; //可选项,含义是授权给某个用户
对语法格式解释如下:
权限列表:(授权用户登陆之后有什么样的权限)
usage 无权限【除有浏览权限外,无其他权限】
all 所有权限
select,delete,update(字段名1,字段名2)
数据库名:(授权用户可以操作的库)
*.* //服务器上的所有库所有表
数据库名.表名 //某个库里的某个表
数据库名.* //某数据库里的所有表
用户名:(登陆数据库服务器时使用的名字)
授权时自定义用户名要有标识性 保存在mysql库的user表里
客户端地址:(授权用户可以从那台主机连接数据库服务器的地址,就是授权用户的地址)
% 代表所有主机
1.1.1.1 代表单个ip地址
192.168.1.% 代表某个网段 如192.168.1.0网段
pc1.tarena.com 主机名 (数据库服务器要能够解析的主机名,可以以“单个主机名”来代表“客户端地址”)
%.tarena.com 区域 (数据库服务器要能够解析区域内的主机名,只要域名叫tarena.com都授权 %匹配全部)
identified by "密码": (设置授权用户的密码)
可选项 不写时授权用户登陆数据库服务器没有密码
with grant option: (授权用户是否有授权的权限)
可选项 不写时授权用户没有授权权限
2.3 mysql库下的表作用:
mysql.user //对用户的授权信息
mysql.db //用户对库的权限信息
mysql.tables_priv //用户对表的权限信息
mysql.columns_priv //用户对字段的权限信息
set password=password("新密码"); //授权用户登录后修改自己的密码
set password for 用户@“客户端地址”=password("新密码");//管理员重置授权用户密码
2.4删除授权用户
delete from mysql.user where user=’xxx’ and host=”xxx”;
撤销授权
格式语句:
revoke 权限列表 on 数据库名 from 用户名@"客户端地址";
mysql>flush privileges; //重新加载mysql数据库信息配置【只要是手动对mysql数据库里表配置的时候,只有打这条命令才能立刻生效】