十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
下文主要给大家带来MySQL用户密码如何管理及授权,希望这些文字能够带给大家实际用处,这也是我编辑Mysql用户密码如何管理及授权这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了江苏免费建站欢迎大家使用!
1 管理root用户密码
3 安装图形管理工具
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;
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.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.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
对于以上关于Mysql用户密码如何管理及授权,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。