加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql用户密码如何管理与授权

发布时间:2023-09-26 15:15:53 所属栏目:MySql教程 来源:
导读:下文主要给大家带来Mysql用户密码如何管理及授权,希望这些文字能够带给大家实际用处,这也是我编辑Mysql用户密码如何管理及授权这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。

目录

1 管理root
下文主要给大家带来Mysql用户密码如何管理及授权,希望这些文字能够带给大家实际用处,这也是我编辑Mysql用户密码如何管理及授权这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。
 
目录
 
1 管理root用户密码
 
2 用户授权与权限撤销
 
3 安装图形管理工具
 
1 管理root用户密码
 
1.1 修改密码
 
方法1:用mysqladmin
 
该方式需要知道mysql的原密码
 
命令格式:
 
mysqladmin  -hlocalhost  -uroot -p password “新密码”
 
方法2:需要登录到mysql
 
授权用户修改自己的密码:
 
mysql> set password=password(“新密码”);
 
数据库管理员重设其它用户的密码:
 
mysql> set password for 用户名@’客户端地址’=password(“新密码”);
 
方法3: 用sql命令update直接编辑user表
 
mysql> use mysql; #系统自带的数据库
 
mysql> update user set authentication_string= password('新密码') where user = 'root';
 
mysql> flush privileges;
 
Mysql用户密码如何管理及授权
 
1.2 密码恢复及设置
 
修改配置文件/etc/my.cnf
 
[mysqld]
 
skip_grant_tables  #跳过授权表
 
#validate_password_policy=0  #刚进入mysql设置的,删除或者注释
 
#validate_password_length=6  #删除或者注释
 
[root@ser51 ~]# systemctl restart mysqld
 
[root@ser51 ~]# mysql  #不用密码可以进入数据库
 
mysql> select * from mysql.user\G; #密码存放的表
 
mysql> update mysql.user
 
set authentication_string=password('234567')
 
    -> where user="root" and host="localhost";
 
更新成功之后,重回配置文件,修改过来,注释掉跳过授权表,重启服务。
 
2 用户授权与权限撤销
 
2.1授权
 
格式:
 
mysql> grant 权限列表 on 库名 to 用户名@”客户端地址” identified by “密码” with grant option;
 
权限列表:all ; select, insert, update ; usage
 
usage:该权限只能用于数据库登陆,不能执行任何操作;且usage权限不能被回收,使用REVOKE并不能删除用户。
 
库名:*.* 代表所有;库名.表名
 
客户端地址:% 代表所有可以ping通云服务器的主机
 
with grant option 该选项可不写,给授权的客户机也可以进行对数据库授权
 
mysql> select @@hostname; #查看数据库云服务器
 
mysql> select user();   #查看当前登录的用户名
 
mysql> show grants;     #查看权限
 
mysql> show processlist; #显示当前运行的程序访问用户的信息
 
2.2 撤销授权
 
(1)查看已有的授权用户:select user,host from mysql.user;
 
(2)查看已有的授权用户访问权:show grants for 用户名@”%”;
 
(3)撤销用户访问权限:
 
格式:
 
revoke 权限列表 on 库名.表名 from 用户名@客户端地址;
 
mysql> revoke grant option on *.* from root@'%';
 
mysql> revoke all on *.* from root@客户端地址
 
当对一个用户授权一个不存在的库时,该用户登录后只能对授权的库进行操作(如建只能授权的库)。
 
(4)或者对表的用户权限进行更改:
 
mysql> select *from  mysql.user\G;
 
mysql> update mysql.db set Delete_priv=”Y” where user=”用户名” and host=”客户端地址”;
 
flush privileges; #更新数据库
 
撤销的只是用户的权限并不是把用户删除.
 
撤销权限后会权限会变为usage,用户仍能登录。
 
(5)此时可以删除用户:
 
两种方法
 
第一种:delete from mysql.user where user=”” and host=””;
 
第二种:drop user 用户名@“客户端地址”;
 
flush privileges;
 
(6)数据库自带mysql库中表的含义:
 
mysql授权库  存储的是授权信息,使用不同的表存储不同的授权权限。
 
user      存储授权用户已有的授权用户
 
db        存储授权用户对库的访问权限
 
tables_priv  存储授权用户对表的访问权限
 
column_priv  存储授权用户对字段的访问权限
 
3 安装图形管理工具
 
3.1 PhpMyAdmin
 
[root@ser51 ~]# yum -y install httpd php php-mysql
 
[root@ser51 ~]# mv phpMyAdmin-4.1.2-all-languages
 
/var/www/html/pma
 
[root@ser51 ~]# cd /var/www/html/pma
 
[root@ser51 ~]# cp config.sample.inc.php  config.inc.php
 
[root@ser51 ~]# vim config.inc.php
 
17行:$cfg[‘blowfish_secret’]=’test’; #在单引号里随意添加字符,如果不修改这项,会报错
 
31行:$cfg['Servers'][$i]['host'] = '数据库IP';
 
测试:从浏览器访问
 
firefox http://192.168.0.4/pma
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章