设为首页 收藏本站
查看: 653|回复: 0

[经验分享] Mysql(四)-用户授权

[复制链接]

尚未签到

发表于 2018-10-1 06:26:51 | 显示全部楼层 |阅读模式
  #############################################################################################
  一、数据库管理员密码的设置:
  1、修改数据库管理员本机登录密码(操作系统管理员有权限修改)
  mysqladmin -hlocalhost -uroot -p password "新密码"
  2、恢复数据库管理员密码(操作系统管理员有权限修改)
  #systemctl  stop  mysqld
  #vim /etc/my.cnf
  [mysqld]
  skip-grant-tables                       //跳过密码验证
  #systemctl  start  mysqld
  #mysql
  mysql> update  mysql.user   set  authentication_string=password("新密码") where  user="root"  and host="localhost";
  mysql> flush  privileges;
  mysql> quit;
  #vim /etc/my.cnf
  [mysqld]
  #skip-grant-tables                            //将跳过验证注释
  #systemctl  stop  mysqld
  #systemctl  start  mysqld
  #mysql  -uroot  -p新密码                   //登陆验证密码是否设置成功
  mysql>
  +++++++++++++++++++++++++++++++++++++++
  二 、用户授权:就在数据库服务器添加新的连接用户。
  用户授权:
  命令:

  mysql>  grant   权限列表  on  库名   to  用户名@"客户端地址"  >  //with grant option 授权的用户具有授权权限。
  权限的表示方式:
  all  、 usage  、select,update(name,age),delete
  库名的表示方式:
  库名.表名
  库名.
  .*
  用户名:
  自定义
  客户端地址表示方式:
  192.168.4.117                   //表示单个主机
  192.168.2.%                 //表示192.168.2.0网段的所有主机
  identified by   "密码"            //登录密码
  with  grant option              //可以有授权权限  可选项
  ####################################################################
  权限撤销 :
  命令:
  mysql>   revoke  权限列表  on  库名  from  用户名@"客户端地址";
  ##################################################################
  删除授权用户:  drop  user  用户名@"客户端地址";
  ##################################################################
  查看授权用户的权限  show  grants  for  用户@”客户端地址“;
  授权信息存储位置:在授权库mysql 下的表里。(不同存储不同的授权信息)
  mysql>use  mysql;
  mysql>show  tables;
  user   已有授权用户信息  select user,host from  mysql.user;
  db     授权用户对库的访问权限
  tables_priv  记录授权用户对表的访问权限
  columns_priv  记录授权用户对表中字段的访问权限。
  ########################################################################
  举例:
  允许在192.168.4.254主机上使用管理员用户连接数据库服务器。

  mysql>grant  all  on  .   to  root@"192.168.4.254" >  允许从网站服务器上使用bbsuser用户连接  密码是123456  只对bbsdb库下的所有表有完全权限,没有授权权限。

  grant  all  on   bbsdb.*  to  bbsuser@"192.168.4.30" >  运行使用admin用户在数据库服务器本机登录 密码123456  只有查询表记录的权限。

  grant  select  on  .   to  admin@"localhost"  >  mysql>   revoke  权限列表  on  库名  from  用户名@"客户端地址";
  撤销root在254主机登录的授权权限
  revoke  grant  option  on  .  from  root@"192.168.4.254";
  撤销root在254主机登录的删除记录和修改记录的权限
  revoke  delete,update  on  .  from  root@"192.168.4.254";
  撤销root在254主机登录的所有权限
  revoke  all  on  .  from  root@"192.168.4.254";
  #############################################################################
  通过修改表记录的方式撤销用户的权限。
  1 修改在对应表中的记录信息
  2  fulsh   privileges;
  ##########################################################################
  授权用户登录服务器后,修登录密码;
  mysql> set   password=password("密码");
  管理员重置授权用户的登录密码
  mysql> set password   for  用户@"客户端地址"=password("密码");
  ########################################################################
  客户端测试授权:
  #which  mysql
  #rpm  -q  mariadb
  #mysql  -h数据库服务器的IP地址  -u用户名  -p密码
  mysql>  select  @@hostname;
  mysql>  select  user();
  mysql>  show  grants;
  ############################################################################
  三、数据备份与恢复(完全备份和完全恢复)
  备份方式:
  1、物理备份: 直接拷贝库或表对应的文件(Myisam)
  cp  -r  /var/lib/mysql/mysql    /mysql.bak
  tar -zcvf   /mysql.tar.gz    /var/lib/mysql/mysql/*
  cp  -r   /mysql.bak  /var/lib/mysql/mysql
  chown  -R  mysql:mysql   /var/lib/mysql/mysql
  ########################################################
  2、逻辑备份: 执行备份时,根据已有的库和表生成对应sql命令,把生成的sql命令存储到指定的备份文件里。
  备份策略:
  完全备份: 备份所有数据(表 、 库 、 服务器)
  差异备份:备份自完全备份后所有新产生 (备份新产生的数据)
  增量备份:备份自上一次备份后,所有新产生。(备份新产生的数据)
  备份数据库要考虑的问题:
  备份频率   备份时间    备份策略   存储空间   备份文件的命名(一般都以 名.sql 这样的格式)
  备份策略使用方式:
  完全+增量(工作环境中使用较多)
  完全+差异
  执行数据备份的方式:  周期性计划任务crond  执行 备份脚本
  ########################################################################
  完全备份数据mysqldump
  #mysqldump   -uroot   -pabc123   库名   > 目录名/名.sql
  库名的表示方式:
  --all-databases     备份数据库服务器的所有数据
  库名                          备份一个库里的所有数据
  库  表                        备份一个表的所有数据
  -B  库名1  库名1   库名N      一起备份多个库的所有数据
  #########################################################################
  完全恢复数据
  #mysql  -uroot  -pabc123   studb  < 目录名/名.sql       //studb库应提前创建
  #########################################################################
  备份脚本:
  mkdir  /srcriptdir
  vim  /srcriptdir/userdbbakall.sh
  #!/bin/bash
  day=date +%F
  if  [   ! -e  /bakdir  ];then
  mkdir  /bakdir
  fi
  mysqldump  -uroot  -pabc123  userdb  > /bakdir/userdb-$day.sql
  :wq
  #chmod +x  /srcriptdir/userdbbakall.sh
  #/srcriptdir/userdbbakall.sh
  #ls  /bakdir/.sql
  #vim /bakdir/.sql
  #crontab  -e
  30  23     1   /srcriptdir/userdbbakall.sh  &> /dev/null
  :wq


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-606853-1-1.html 上篇帖子: MySQL高可用集群MHA配置 下篇帖子: MYSQL数据库基本操作命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表