cheng029 发表于 2018-10-6 12:23:07

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;
  1.2 密码恢复及设置
  修改配置文件/etc/my.cnf
  
  skip_grant_tables#跳过授权表
  #validate_password_policy=0#刚进入mysql设置的,删除或者注释
  #validate_password_length=6#删除或者注释
  # systemctl restart mysqld
  # 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 用户名@”客户端地址”>  权限列表: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 *frommysql.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
  # yum -y install httpd php php-mysql
  # mv phpMyAdmin-4.1.2-all-languages
  /var/www/html/pma
  # cd /var/www/html/pma
  # cp config.sample.inc.phpconfig.inc.php
  # vim config.inc.php
  17行:$cfg[‘blowfish_secret’]=’test’; #在单引号里随意添加字符,如果不修改这项,会报错
  31行:$cfg['Servers'][$i]['host'] = '数据库IP';
  测试:从浏览器访问
  firefox http://192.168.0.4/pma

页: [1]
查看完整版本: Mysql密码管理及授权