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

[经验分享] MySQL数据库管理4-hj

[复制链接]

尚未签到

发表于 2018-10-7 06:27:02 | 显示全部楼层 |阅读模式
  修改数据库管理员本机登录密码
  [root@localhost ~]# mysqladmin -hlocalhost  -uroot  -p
  password  "新密码"
  恢复数据管理员本机登录的密码
  vim /etc/my.cnf
  [mysqld]
  #validate_password_policy=0
  #validate_password_length=6
  skip-grant-tables
  :wq
  #systemctl   restart mysqld
  #mysql
  mysql> update  mysql.user
  -> set
  -> authentication_string=password("123123")
  -> where
  -> user="root" and host="localhost";
  mysql> flush privileges;
  mysql>quit
  vim /etc/my.cnf
  [mysqld]
  validate_password_policy=0
  validate_password_length=6
  #skip-grant-tables
  :wq
  #systemctl   restart mysqld
  #mysql  -uroot  -p123123
  mysql>
  +++++++++++++++++++++++++
  用户授权
  *默认只允许数据库管理员从本机登录。
  *默认只有数据库管理员在本机登录才有授权权限。
  给谁授权: 管理者(运维工作人员)   使用者(网站服务器)
  授权命令
  mysql> grant   权限列表 on  数据库名    to  用户名;
  mysql> grant   权限列表 on  数据库名    to  用户名@"客户地
  址"  identified by "密码"  with  grant  option;
  权限列表
  all  所有权限
  select,insert,update(name,age)
  数据库名的表示方式:
  *.*  所有库所有表
  库名.*   某个库
  库名.表   某张表
  用户名:授权时自定义的
  客户地址表示方式
  %  所有主机
  192.168.4.%   网段
  192.168.4.7    ip地址
  主机名    pc101.tedu.cn
  域名       %.tedu.cn
  identified by "密码" 登录密码 (可选项)
  with  grant  option   有授权权限 (可选项)
  添加yaya用户可以在本机登录,对所有库表有完全权限但不能授
  权,登录密码654321
  mysql> grant all on *.* to yaya@"localhost"

  ->>  mysql> select  user(); 显示当前登录的用户和客户端地址
  mysql> show grants; 显示当前登录用户的访问权限
  添加plj用户可以在x.x.x.254登录,对所有库表有完全权限并有
  授权权限,登录密码654321
  mysql> grant all on *.*  to plj@"192.168.4.254"
  identified by "654321" with  grant option;
  MySQL [(none)]> grant  all on  bbsdb.*  to  student
  identified by "654321";
  授权user1用户可以在网络中的任意主机连接数据库服务器,连
  接后仅对userdb库下user表有查询 插入 更新权限 更新时只能
  更新name字段的值,登录密码  123456;
  grant   select ,insert ,update(name)  on  userdb.user  to

  user1@"%"  >  授权信息储存在mysql库下的表里
  user  存储已有的授权用户
  db     记录授权用户对库访问权限
  tables_priv   记录授权用户对表访问权限
  columns_priv  记录授权用户对表中字段的访问权限
  查看一样的授权用户和登录客户端地址
  select  user,host  from  mysql.user;
  管理用户查看授权用户的访问权限
  mysql> show grants for 用户名@"客户端地址";
  权限撤销
  mysql> revoke   权限列表  on  库名   from   用户名@"客户
  端地址";
  撤销plj用户在x.x.x.254登录的授权权限
  revoke  grant  option  on  *.*  from
  plj@"192.168.4.254";
  撤销plj用户在x.x.x.254登录后删除表记录的权限
  revoke  delete on *.*  from  plj@"192.168.4.254";
  撤销plj用户在x.x.x.254登录后所有的权限
  revoke  all  on *.*  from plj@"192.168.4.254";
  删除授权用户
  mysql> delete  from mysql.user  where user="plj" and
  host="192.168.4.254";  flush privileges;
  mysql> drop  user  plj@"192.168.4.254";
  授权用户修自己的登录密码
  SET PASSWORD=PASSWORD('新密码');
  数据库管理重置授权用户的登录密码
  SET PASSWORD  for   用户@"客户端地址"=PASSWORD('
  新密码');
  练习
  1 删除以上所有的授权用户。
  2 允许254 主机可以使用数据库管理员连接数据库服务器,并拥
  有管理员的权限。
  grant all  on  *.*   to  root@"192.168.4.254"  identified
  by  "123123"  with grant option;
  3 不允许数据库管理员在数据库服务器本机登录。
  delete from mysql.user where
  -> user="root" and host="localhost"; flush privileges;
  4 授权webadmin用户对webdb有完全权限,并有授权权限,
  在网络中所有主机都可以连接数据库服务登录密码123456
  grant  all on  webdb.*  to webadmin@"%"

  ->>  grant  insert  on  mysql.*  to  webadmin@"%";
  5 测试以上授权
  6 删除以上授权并只允许数据库管理员从服务器本机登录。

  grant all on  *.*  to  root@"localhost">  "123123" with  grant option;
  delete from mysql.user where
  -> host!="localhost";
  mysql> flush privileges;
  +++++++++++++++++++++++++++++++++
  安装mysql服务图形管理工具 phpmyadmin
  137  rpm -q httpd  php
  138  rpm -q php-mysql
  139  yum -y  install httpd  php  php-mysql
  140  rpm -q httpd  php  php-mysql
  141  systemctl  start httpd
  142  systemctl  status httpd
  143  systemctl  enable httpd
  144  systemctl  is-enabled httpd
  145  echo 123  > /var/www/html/test.html
  147  yum -y  install elinks
  148  elinks  --dump http://localhost/test.html
  149  vim /var/www/html/test.php
  
  :wq
  150  elinks  --dump http://localhost/test.php
  154  tar -zxvf phpMyAdmin-2.11.11-all-
  languages.tar.gz
  167  mv phpMyAdmin-2.11.11-all-languages
  /var/www/html/phpmyadmin
  168  cd /var/www/html/
  171  chown -R apache:apache  phpmyadmin/
  172  cd phpmyadmin/
  174  cp config.sample.inc.php config.inc.php
  # vim config.inc.php
  17 $cfg['blowfish_secret'] = 'plj123';
  31 $cfg['Servers'][$i]['host'] = 'localhost';
  :wq
  mysql -uroot  -p123123
  mysql> create database gamedb;
  mysql> grant all on  gamedb.* to

  gameuser@"localhost">  mysql  -hlocalhost  -uroot  -p123123
  firefox  http://192.168.4.12/phpmyadmin
  gameuser
  123456
  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  数据备份与恢复
  1 为什么对数据做备份?使用备份文件恢复数据。
  2 数据备份方式?
  物理备份:拷贝库或表对应的系统文件
  193  tar -zcvf  /opt/mysql.tar.gz
  /var/lib/mysql/mysql/*
  180  cp -r /var/lib/mysql/mysql  /opt/mysql.bak
  181  ls /opt/
  182  ls /opt/mysql.bak/
  183  rm -rf /var/lib/mysql/mysql
  184  systemctl  status mysqld
  185  quit
  186  cp -r /opt/mysql.bak/ /var/lib/mysql/mysql
  187  cd /var/lib/mysql
  188  ll
  189  chown  -R mysql:mysql /var/lib/mysql/mysql
  190  systemctl  restart mysqld
  191  mysql -uroot -p123123
  逻辑备份:执行备份时,根据已有的库、表、记录,生成对应的
  sql 命令,把SQL保持到指定的文件里。
  3 数据备份策略
  完全备份:备份所有数据
  一台数据库服务器的所有数据
  一个库的所有数据
  一张表的所有数据
  差异备份:备份自完全备份后,所有新产生的数据
  增量备份:备份自上次备份后,所有新产生的数据
  完全
  差异
  增量
  单独使用完全备份
  完全备份+差异备份
  完全备份+增量备份
  方式   策略
  完全备份+差异备份
  周期               时间       regtab        备份文件名
  1         完全    18            10             1.sql     10
  2         差异    18             2             2.sql    2
  3                 18             5             3.sql7
  4                 18             3             4.sql     10
  5                                4             5.sql     14
  6                                7             6.sql     21
  7        差异                    1             7.sql     22
  方式   策略
  完全备份+差异备份
  周期               时间       regtab        备份文件名
  1         完全    18            10             1.sql                10
  2         增量    18            2               2.sql           2
  3                    18           5                3.sql5
  4                     18          3                  4.sql                     3
  5                                    4                   5.sql                 4
  6                                    7                    6.sql                7
  7       增量                      1                     7.sql               1
  完全备份
  周期               时间       regtab        备份文件名
  1         完全    18            10             1.sql                10
  2
  delete from t1;
  2                    18            2               2.sql           2
  3                    18           5                3.sql5
  4                     18          3                  4.sql                     3
  5                                    4                   5.sql                 4
  6                                    7                    6.sql                7
  7        完全                     1                     7.sql               1
  生产环境中 使用
  周期性计划任务         备份脚本
  30   18    *    *    1    /shell/allbak.sh
  ++++++++++++++++++++++++++++++++
  完全备份数据
  mysqldump   -hlocalhost  -uroot  -p123123  数据库名   >
  目录名/名.sql
  数据库名的表示方式:
  --all-databases   一台数据库服务器的所有数据
  库名                      一个库的所有数据
  库名  表名              一张表的所有数据
  -B  库名1  库名2  一起备份多个库的所有数据
  #mysqldump  -hlocalhost -uroot -p123123  userdb t2 >
  /opt/t2.sql
  完全数据恢复
  mysql -uroot -p123123  数据库名  < 备份文件
  #mysql -uroot -p123123  userdb < /opt/t2.sql
  编写脚本allbakt2.sh 功能:
  把服务器上userdb库t2表的所有记录备份到本机/mybak文件夹里。使用系统日期做备份文件名例如 2017-05-25-t2.sql
  #! /bin/bash
  day=$(date +%F)
  if  [ ! –e /mydbbak  ] ; then
  mkdir/mydbbak
  fi
  mysqldump-uroot-pabc123userdb> /mydbbak/$day-userdb.sql


运维网声明 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-614063-1-1.html 上篇帖子: MySQL数据库管理3-hj 下篇帖子: MySQL数据管理5-hj
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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