zoukankan      html  css  js  c++  java
  • 数据的备份与恢复与用户权限管理

    一、数据的备份与恢复

    将已有的数据复制一份,存放到其他的服务器上。MySQL提供的备份有很多,常见的有文本备份、数据备份、sql备份等

    1、文本备份

      文本备份是最简单的一种备份方式!

      一般认为,文本备份只适合Myisam存储引擎的数据表,就是将数据表的三个文件(结构、数据、索引)备份到其他服务器就行了

      文本备份的特点:

        简单(只需要复制粘贴),每次都需要备份全部的文件,非常浪费磁盘空间

    2、数据备份

    1)备份语法

      select *|字段列表 into outfile 文件地址 from 表名;

      select * into outfile ‘d:/backup/php_student.txt’ from php_student;

      ① 首先要有目录名(backup),目录名不能省略

      ② 备份时,不能指定一个已经存在的文件存储备份的数据,文件只能由系统自动创建

    2)还原语法

      load data infile 文件路径 into table 表名[字段列表];

      load data infile ‘d:/backup/php_student.txt’ into table php_student;

      直接往备份表中添加数据,在还原的时候也可以加载回来。

      前提条件就是文档中的记录的结构应该和表的结构是一致的!

    3、SQL备份

    sql备份是将表的结构和数据通过sql语句的形式进行备份  mysql中,有一个专门用来备份的客户端:mysqldump.exe

    1)备份语法

      mysqldump  -hlocalhost –P3306  -uroot –p 数据库名[数据表1 数据表2……] > 存储路径

    如果只有数据库名,没有数据表名,意思就是备份整个数据库!  mysqldump  –uroot  –p  php2016  php_student  >  d:/backup/php_student.sql

    2)还原语法

    有两种方式:

    第一种:使用mysql客户端还原

      语法形式为:

      mysql  -hPup 数据库名字 < 备份路径    mysql –uroot –p php2016  <  d:/backup/php_student.sql

    第二种:使用sql命令

      source 备份路径;

    sql备份的特点:

      ①  可以备份表结构,更安全

      ②  备份是对整表进行备份,耗时比较长,备份的文件也比较大,比较浪费磁盘空间

    在真实的项目中,一般可以采用n天轮流备份策略!  比如:只备份最近7天的数据

    二、用户权限管理

    根据不同的项目给员工分配不同的用户,再给不同的用户分配不同的权限来管理和维护不同的数据库

    1、创建用户

    在mysql中,所有的用户都在mysql数据库下的user表中,user表中的字段有很多,但是最重要的是前三个字段:Host , User , Password

      create user 用户名[@主机地址] identified by '密码';

    创建一个可以局域网访问的用户
    create user 'user2'@'192.168.148.%' identified by '123456';

    创建一个可以全网访问的用户
    create user 'user3' identified by '123456';

    2、给用户分配权限
      grant 权限列表 on 数据库.数据表 to 用户(用户名@主机地址);

      grant select,update on php2016.php_student to 'user2'@'192.168.148.%';

    3、回收权限
      revoke update on php2016.php_student from 'user2'@'192.168.148.%';

    4、删除用户
      drop user 'user1'@'localhost';

     

    三、密码管理

    1、修改root密码

    一般有两种方式可以修改:

    1)通过mysqladmin修改

    mysqladmin也是一个客户端,通常用于执行一些管理性的工作,其中也可以修改root用户的密码

      mysqladmin -hPup password 新密码

    2)先登录到服务器,直接使用以下的命令修改:

      set password = password('新密码')  //该方法同样适用于普通用户

     

    2、root用户修改普通用户的密码

      set password for 'username'@'主机地址' = password('new_password');

     

    3、root密码找回

      1)停止mysql服务net stop mysql

      2)进入mysql的安全模式,即不用输入密码就能进入数据库

        mysqld -nt --skip-grant-tables;

      3)重新打开一个cmd命令行窗口,输入mysql –uroot –p,使用空密码的方式登录mysql

      4)输入以下的命令开始修改root用户的密码

        update mysql.user set password=password(‘new_password’) where user=’root’;

      5)刷新权限

        flush privileges;

      6)退出:quit

      7)在内存中结束mysqld进程!

      8)重新启动mysql服务器

    找回root密码的时候一定要快!因为在安全模式下,mysql服务器是最脆弱的,所有的人都可以不需要密码直接以root用户的身份登录,而且都是超级管理员的权限!

  • 相关阅读:
    敏捷宣言遵循的原则
    Python学习笔记(11):更多内容
    VBScript之Eval函数与Execute语句(Array.ForEach的实现)
    QTP自动化测试之VBScript对象
    ASP.NET服务器端数据查询控件
    Oracle 日期及GUID
    wp7查询公交路线
    wp7搜索引擎
    在windowsPhone中怎么样存储数据
    客户端PLSQL Developer连接远程数据库Oracle
  • 原文地址:https://www.cnblogs.com/Hansen32/p/6120372.html
Copyright © 2011-2022 走看看