设为首页 收藏本站

运维网

查看: 526|回复: 0

[经验分享] mysql四

[复制链接]

尚未签到

发表于 2018-10-3 13:33:13 | 显示全部楼层 |阅读模式
  一 、管理root用户密码
  1.1 修改密码
  1.2 恢复密码
  二、用户授权与权限撤销
  2.1 授权
  2.2 撤销权限
  三、安装图形管理工具
  四 数据备份与恢复 ----- 完全备份与恢复
  4.1 完全备份
  4.2 完全恢复
  ++++++++++++++++++++++++++++++++++
  一 、管理root用户密码(*操作系统管理员有权限管理)
  1.1 修改本机登录密码
  #mysqladmin   -hlocalhost   -uroot   -p   password  "新密码"
  必须知道正确旧密码新密码才能设置成功
  1.2 恢复本机登录密码
  #vim  /etc/my.cnf
  [mysqld]
  skip-grant-tables
  #validate_password_policy=0
  #validate_password_length=6
  ...
  :wq
  #systemctl  stop   mysqld
  #systemctl  start   mysqld
  #mysql
  mysql> desc mysql.user;
  authentication_string
  mysql> select host,user,authentication_string from  mysql.user;
  mysql>  update  mysql.user  set  authentication_string=password("123456")
  where  host="localhost"   and  user="root";
  mysql> flush  privileges;
  mysql> quit;
  #vim  /etc/my.cnf
  [mysqld]
  #skip-grant-tables
  validate_password_policy=0
  validate_password_length=6
  ...
  :wq
  #systemctl  stop   mysqld
  #systemctl  start   mysqld
  #mysql  -uroot  -p123456
  mysql>
  +++++++++++++++++++++++++++++++++++++
  二、用户授权与权限撤销
  2.1 授权 (在数据库服务器上添加新的连接用户)
  授权命令语法格式

  mysql>  grant   权限列表 on  库名  to  用户名@"客户端地址" >  权限列表:
  all
  select ,insert ,update(字段名)
  usage
  库名:
  .
  库名.*
  库名.表名
  用户名 : 连接数据库服务器时使用的名字授权时自定义即可要有标识
  客户端地址:
  %
  192.168.4.12
  192.168.4.%
  pc100.tedu.cn
  %.tedu.cn
  localhost
  identified by  "密码"  登录密码
  with  grant option       有授权权限  (可选项)
  例子1

  grant   all   on    .  to  root@"%"  >  在客户端测试授权:
  ping  -c   2   192.168.4.51
  1 检查是否有命令行连接命令 #which  mysql
  #yum -y  install  mariadb
  2 连接数据库服务器
  #mysql  -h数据库服务器ip地址  -u用户名  -p密码
  #mysql  -h192.168.4.51  -uroot  -p654321
  mysq>   select @@hostname;
  mysql>  select  user();
  mysql>  show  grants;
  mysql> grant all  on  bbsdb.* to bbsuser@"192.168.4.53"

  ->>  服务器端显示当前运行的程序访问用户的信息?
  mysql> show   processlist ;
  在53主机测试授权?
  #mysql  -h192.168.4.51  -ubbsuser  -p654321
  mysql> show  grants;
  ++++++++++++++++++++++++++++++++++
  mysql 授权库 存储的是授权信息,
  使用不同的表存储不同的授权权限。
  user                  存储授权用户已有的授权用户
  db                     存储授权用户对库的访问权限
  tables_priv      存储授权用户对表的访问权限
  columns_priv  存储授权用户对表中字段的访问权限
  show  grants for  用户名@“客户端地址”;
  ++++++++++++++++++++++++++++++++++
  2.2 撤销权限(数据库服务器上执行)
  a 查看已有的授权用户
  select user,host from mysql.user;
  b 查看已有的授权用户访问权
  show   grants  for   用户名@"客户端地址";
  c 撤销用户访问权限
  revoke   权限  on  库名  from  用户名@"客户端地址";
  revoke  delete,update on bbsdb. from bbsuser@"192.168.4.53";
  select   from mysql.db where user="bbsuser"\G;
  update  mysql.db set  Delete_priv="Y"  where user="bbsuser" and  host="192.168.4.53";
  flush privileges;
  revoke grant option on . from root@'%';
  revoke all on . from  'root'@'%';
  show   grants  for  root@'%';
  删除添加的授权用户?
  drop  user   用户名@"客户端地址";
  授权用户登录服务器后修改自己的登录密码?
  SET PASSWORD=PASSWORD("新密码");
  管理员修改授权用户的登录密码?
  SET PASSWORD
  FOR 用户名@"客户端地址"=PASSWORD("新密码");
  +++++++++++++++++++++++++++++++++
  查看服务器上已有的授权用户有哪些?
  显示一下已有授权用户的访问权限?
  修改某个授权用户的登录密码位777777 并在客户端测试
  某个授权登录后修改自己的登录密码为666666  并在客户端测试
  撤销某个授权用户对 库中所有表的 删除记录和更新记录的权限。并在客户端测试。
  撤销某个用户的所有访问权限。并在客户端测试
  删除所有的授权用户只允许数据库管理员在本机登录。并在客户端测试。
  授权tom用户可以在本机登录 密码为654321  对student库有完全权限。并有授权权限,并测试授权。
  +++++++++++++++++++++++++++++++++++++++
  三、安装图形管理工具phpmyadmin(安装数据库服务器上)
  1  rpm  -q  httpd  php   php-mysql
  2  yum  -y  install   httpd  php   php-mysql
  3  systemctl  start  httpd ;  systemctl  enable  httpd
  4  tar -zxf phpMyAdmin-2.11.11-all-languages.tar.gz  -C     /var/www/html/
  5  cd /var/www/html/
  6  mv phpMyAdmin-2.11.11-all-languages phpmyadmin
  7 chown -R apache:apache phpmyadmin/
  8 cd phpmyadmin/
  9 cp  config.sample.inc.php    config.inc.php
  10 sed -n '17p;31p' config.inc.php
  $cfg['blowfish_secret'] = 'plj123';
  $cfg['Servers'][$i]['host'] = 'localhost';
  11 mysql  -uroot  -p123456

  mysql>  grant  all on  gamedb.*  to  gameuser@"localhost" >  12 client 254 :
  #firefox   http://192.168.4.51/phpmyadmin
  +++++++++++++++++++++++++++++++++++++++++++
  四 数据备份与恢复 ----- 完全备份与恢复
  4.1 数据备份的目的?使用备份恢复数据。
  4.2 数据备份方式?物理备份 和逻辑备份
  物理备份:直接拷贝库或表对应的文件。
  cp   -r   /var/lib/mysql/mysql    /opt/mysql.bak
  tar  -zcvf   /opt/mysql.tar.gz  /var/lib/mysql/mysql/*
  

              cp  /opt/mysql.bak  /var/lib/mysql/mysql  chown -R  mysql:mysql  /var/lib/mysql/mysql
  systemctl restart mysqld
  

  有局限性: myisam  跨平台性查
  数据量备份恢复浪费时间
  

  逻辑备份:执行备份时,根据已有的数据,生成对应的sql命令,把sql保存到指定的文件里。恢复时执行备份文件里的sql命令,就把数据写回到数据库里了。
  4.3 数据备份策略? 完全备份   差异备份  增量备份
  完全备份:备份所有数据
  备份一台数据库服务器上所有数据
  备份某一个数据库的所有数据
  备份某一张表数据库的所有数据
  差异备份:备份自完全备份后,所有新产生的数据。
  增量备份:备份自上一次备份后,所有新产生的数据。
  执行数据备份操作的手段:
  使用crond任务  执行  备份脚本(shell  / python)
  备份数据时考虑的事情:
  周期   时间     策略       文件命名   存储空间
  工作中使用的备份策略?
  完全备份+差异备份
  完全备份+增量备份
  周期   时间     策略        t1      文件名      数据
  6:00
  1                     完全        10      1.sql        10
  2                     差异        3        2.sql         3
  3                                    6        3.sql          9
  4                                    5        4.sql          14
  5                                    1           5.sql      15
  6                                     2           6.sql      17
  7                   差异           3           7.sql      20
  周期   时间     策略         t1      文件名      数据
  6:00
  1                     完全        10      1.sql        10
  2                     增量        3        2.sql          3
  3                                    6        3.sql          6
  4                                    5        4.sql          5
  5                                    1        5.sql          1
  6                                    2         6.sql         2
  7                    增量         3         7.sql         3
  ++++++++++++++++++++++++++++++++++++++
  4.1 完全备份
  [root@host50 ~ ]#
  mysqldump   -hlocalhost  -uroot  -p123456 库名  >  目录名/文件名.sql
  库名的表示方式:
  备份一台数据库服务器上所有数据    --all-databases
  备份某一个数据库的所有数据           库名               gamedb
  备份某一张表数据库的所有数据       库名   表名    studentdb   user
  把多个库的所有数据备份到一个备份文件里  -B  库名1 库名2  库名n
  4.2 完全恢复
  [root@host50  ~  ]#
  mysql  -hlocalhost   -uroot   -p123456  库名 <  目录名/文件名.sql
  +++++++++++++++++++++++++++++++++++++++++++++
  #mkdir  /bakdb
  #vim /bakdb/allstudb.sh
  #!/bin/bash
  day=$(date +%F)
  if [ ! -e /bakdir ];then
  mkdir /bakdir
  fi
  mysqldump  -uroot -p123456  db4  > /bakdir/$day-db4.sql
  :wq
  #chmod  +x  /bakdb/allstudb.sh
  #/bakdb/allstudb.sh
  #ls /bakdir
  #crontab  -e
  00  06     1       /bakdb/allstudb.sh   &>  /dev/null
  :wq
  ++++++++++++++++++++++++++++++++++++
  完整备份的缺点?



运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:admin@yunvn.com 网址:www.iyunv.com

点击关注更多内容
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则  允许回帖邮件提醒楼主

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

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

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

扫描微信二维码查看详情

客服 E-mail:kefu@yunvn.com

本站由青云提供云计算服务

运维网--中国最专业的运维工程师交流社区

京ICP备14039699号-1 Copyright © 2012-2018

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

Good good study day day up !


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


独家合作伙伴: 青云cloud

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