mysql用户授权
安装mysql图形管理工具 phpmyadmin
yum -y install httpd php php-mysql
下载phpmyadmin源码包 解压到html目录,名字叫phpmyadmin
cp config.sample.inc.php config.inc.php 拷贝配置文件
vim config.inc.php
17 $cfg['blowfish_secret'] = 'test'; 认证用,必须要写东西,随便写
31 $cfg['Servers'][$i]['host'] = 'localhost'; localhost访问本机
访问
http://127/0.0.1/phpmyadmin/index.php
更新数据库管理员root用户本机登录的密码
mysqladmin -hlocalhost -uroot -p password "新密码"
恢复数据库管理员本机登录的密码
vim /etc/my.cnf
skip-grant-tables
systemclt restart mysqld
update mysql.user set authentication_string=password("123456") where user="root" and host="localhost";
flush privileges;
用户授权与权限撤销
1 什么是用户授权: 在数据库服务器上添加可以连接数据库服务器的用户。
2 谁有授权权限:默认只有数据库管理员root用户在本机登录,才有授权权限。
3 给谁授权(使用者 管理者)
4 授权
grant 权限列表 on 数据库名 to 用户名@“客户端地址” identified by “密码” with grant option;
权限列表的表示方式
all 所有权限
USAGE 无权限 只能看到虚拟库
select,insert,update(字段名列表) 当写了字段名的时候必须指定库和表
客户端地址的表示方式
% 所有地址
192.168.1.1
192.168.1.%
select user(); 看当前登录的用户和登录地址
show grants; 查看当前登录用户的权限
show grants for "用户名"@"地址"; 管理员查看其他用户的权限
默认的4个库
sys
information_schema 虚拟库
performance_schem
mysql 授权库(存储授权信息)
mysql库下表的作用
mysql.user 存储已有的授权用户
mysql.db 存储授权用户对库的访问权限
mysql.tables_priv 存储授权用户对表的访问权限
mysql.columns_priv 存储授权用户对字段的访问权限
修改权限
直接修改表中字段
db,tables_priv,columns_priv
修改完成后刷新权限
flush privileges;
撤销授权:
revoke 权限列表 on 数据库 from 用户@"客户端地址";
revoke grant option on *.* from root@"192.168.1.1";
revoke delete,drop on *.* from root@"192.168.1.1";
revoke all on *.* from root@"192.168.1.1";
授权的时候怎么写的库名撤销的时候也得怎么写 如果授权时写的*.* 撤销的时候也得写*.* 不能写单独的库名
删除授权用户:
delete from mysql.user where user="root" and host="192.168.4.254";
flush privileges;
drop user root@"192.168.4.254";
授权用户登录后修改登录密码
set password=password('新密码');
管理员重置授权用户的登录密码
set password for 用户名@地址=password('新密码');