chenjiali 发表于 2018-10-3 13:33:13

mysql四

  一 、管理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
  
  skip-grant-tables
  #validate_password_policy=0
  #validate_password_length=6
  ...
  :wq
  #systemctlstop   mysqld
  #systemctlstart   mysqld
  #mysql
  mysql> desc mysql.user;
  authentication_string
  mysql> select host,user,authentication_string frommysql.user;
  mysql>updatemysql.usersetauthentication_string=password("123456")
  wherehost="localhost"   anduser="root";
  mysql> flushprivileges;
  mysql> quit;
  #vim/etc/my.cnf
  
  #skip-grant-tables
  validate_password_policy=0
  validate_password_length=6
  ...
  :wq
  #systemctlstop   mysqld
  #systemctlstart   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"密码"登录密码
  withgrant option       有授权权限(可选项)
  例子1

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

  ->>  服务器端显示当前运行的程序访问用户的信息?
  mysql> show   processlist ;
  在53主机测试授权?
  #mysql-h192.168.4.51-ubbsuser-p654321
  mysql> showgrants;
  ++++++++++++++++++++++++++++++++++
  mysql 授权库 存储的是授权信息,
  使用不同的表存储不同的授权权限。
  user                  存储授权用户已有的授权用户
  db                     存储授权用户对库的访问权限
  tables_priv      存储授权用户对表的访问权限
  columns_priv存储授权用户对表中字段的访问权限
  showgrants for用户名@“客户端地址”;
  ++++++++++++++++++++++++++++++++++
  2.2 撤销权限(数据库服务器上执行)
  a 查看已有的授权用户
  select user,host from mysql.user;
  b 查看已有的授权用户访问权
  show   grantsfor   用户名@"客户端地址";
  c 撤销用户访问权限
  revoke   权限on库名from用户名@"客户端地址";
  revokedelete,update on bbsdb. from bbsuser@"192.168.4.53";
  select   from mysql.db where user="bbsuser"\G;
  updatemysql.db setDelete_priv="Y"where user="bbsuser" andhost="192.168.4.53";
  flush privileges;
  revoke grant option on . from root@'%';
  revoke all on . from'root'@'%';
  show   grantsforroot@'%';
  删除添加的授权用户?
  dropuser   用户名@"客户端地址";
  授权用户登录服务器后修改自己的登录密码?
  SET PASSWORD=PASSWORD("新密码");
  管理员修改授权用户的登录密码?
  SET PASSWORD
  FOR 用户名@"客户端地址"=PASSWORD("新密码");
  +++++++++++++++++++++++++++++++++
  查看服务器上已有的授权用户有哪些?
  显示一下已有授权用户的访问权限?
  修改某个授权用户的登录密码位777777 并在客户端测试
  某个授权登录后修改自己的登录密码为666666并在客户端测试
  撤销某个授权用户对 库中所有表的 删除记录和更新记录的权限。并在客户端测试。
  撤销某个用户的所有访问权限。并在客户端测试
  删除所有的授权用户只允许数据库管理员在本机登录。并在客户端测试。
  授权tom用户可以在本机登录 密码为654321对student库有完全权限。并有授权权限,并测试授权。
  +++++++++++++++++++++++++++++++++++++++
  三、安装图形管理工具phpmyadmin(安装数据库服务器上)
  1rpm-qhttpdphp   php-mysql
  2yum-yinstall   httpdphp   php-mysql
  3systemctlstarthttpd ;systemctlenablehttpd
  4tar -zxf phpMyAdmin-2.11.11-all-languages.tar.gz-C   /var/www/html/
  5cd /var/www/html/
  6mv phpMyAdmin-2.11.11-all-languages phpmyadmin
  7 chown -R apache:apache phpmyadmin/
  8 cd phpmyadmin/
  9 cpconfig.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>grantall ongamedb.*togameuser@"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 -Rmysql: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 完全备份
  #
  mysqldump   -hlocalhost-uroot-p123456 库名>目录名/文件名.sql
  库名的表示方式:
  备份一台数据库服务器上所有数据    --all-databases
  备份某一个数据库的所有数据         库名               gamedb
  备份某一张表数据库的所有数据       库名   表名    studentdb   user
  把多个库的所有数据备份到一个备份文件里-B库名1 库名2库名n
  4.2 完全恢复
  #
  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 -p123456db4> /bakdir/$day-db4.sql
  :wq
  #chmod+x/bakdb/allstudb.sh
  #/bakdb/allstudb.sh
  #ls /bakdir
  #crontab-e
  0006   1       /bakdb/allstudb.sh   &>/dev/null
  :wq
  ++++++++++++++++++++++++++++++++++++
  完整备份的缺点?


页: [1]
查看完整版本: mysql四