zoukankan      html  css  js  c++  java
  • 恢复数据库管理员密码、用户授权、数据备份与恢复


    修改数据库管理员密码
    # mysqladmin -hlocalhost -uroot -p password "新密

    码"
    Enter 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("123qqq") where

    host="localhost" and user="root";
    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 -p123qqq
    mysql>

    用户授权
    什么是授权:在数据库上添加新的可以连接的用户
    默认数据库管理员root用户在本机登录时,才有授权权限。

    授权命令的格式?
    grant 权限列表 on 数据名 to 用户名;

    grant 权限列表 on 数据名 to 用户名@"客户端地址";

    grant 权限列表 on 数据名 to 用户名@"客户端地址"

    identified by "密码" ;

    grant 权限列表 on 数据名 to 用户名@"客户端地址"

    identified by "密码" with grant option;

    权限列表的表示方式?
    all 所有权限
    select,update(name,age)

    数据名的表示方式?
    *.* 所有库所有表
    库名.* 一个库
    库名.表名 一个表

    用户名: 授权时自定义要有标识性,是用户登录是使用的名字

    客户端地址的表示方式?
    % 所有地址
    192.168.2.% 网段
    %.tarena.com 区域
    pc101.tarena.com 主机名

    identified by "密码" 连接时使用的密码

    with grant option 有授权权限

    给谁授权
    给使用者授权 (网站服务器 )
    管理者(运维工程师)

    允许数据库管理员root用户可以在254主机连接数据库服务器,

    连接密码是abc123 连接后有完全权限且有授权权限
    mysql>grant all on *.* to root@"192.168.4.254"

    identified by "abc123" with grant option;

    mysql>grant select,update(name) on userdb.user to

    student identified by "123456";


    select user(); 显示登录的用户名和客户端地址
    show grants; 连接用户查看自己的访问权限

    在客户端登录测试授权
    #which mysql
    #yum -y install mariadb
    #mysql -h192.168.4.12 -uroot -pabc123
    mysql>
    grant all on bbsdb.* to webadmin@"192.168.4.11"

    identified by "123456";
    +++++++++++++++++++++++++++++++
    授权信息存储在授权库mysql库里
    user 已有的授权用户及访问权限
    db 记录授权用户对本机库的访问权限
    tables_priv 记录授权用户对本机表的访问权限
    columns_priv 记录授权用户对本机表中字段的访问权限


    查看已有的授权用户及权限
    select user,host from mysql.user;
    数据库管理员查看授权用户的权限信息
    show grants for 用户名@"客户端地址";

    撤销用户授权
    revoke 权限列表 on 库名 from 用户名@"客户端地址";

    mysql> revoke grant option on *.* from

    'root'@'192.168.4.254';

    mysql> revoke delete on bbsdb.* from

    'webadmin'@'192.168.4.11';

    mysql> show grants for 'webadmin'@'192.168.4.11';

    mysql>update mysql.db set

    Insert_priv="N",Update_priv="N" where db="bbsdb";
    mysql> flush privileges;

    mysql> show grants for 'webadmin'@'192.168.4.11';


    mysql> revoke all on bbsdb.* from

    'webadmin'@'192.168.4.11';

    删除授权用户
    方法一:

    mysql>delete from mysql.user where

    user="webadmin" and host="192.168.4.11";
    mysql> flush privileges;

    方法二
    mysql> drop user 用户名@"客户端地址";


    授权用户登录后修改自己的登录密码
    SET PASSWORD=PASSWORD('新密码');

    管理员 root 重置授权用的登录密码
    SET PASSWORD
    FOR 用户名@'客户端地址'=PASSWORD('新密码');
    ++++++++++++++++++++++++++++++++
    安装mysql图形管理工具 phpmyadmin
    #yum -y install httpd php
    #systemctl start httpd; systemctl enable httpd
    [root@localhost ~]# cat /var/www/html/test.php
    <?php
    phpinfo();
    ?>
    [root@localhost ~]#

    客户端访问
    firefox http://192.168.4.12/test.php

    # tar -zxvf phpMyAdmin-2.11.11-all-languages.tar.gz

    -C /var/www/html/

    #cd /var/www/html/
    #mv phpMyAdmin-2.11.11-all-languages/ phpmyadmin
    #chown -R apache:apache phpmyadmin
    #cd phpmyadmin
    #cp config.sample.inc.php config.inc.php
    #vim config.inc.php
    17 $cfg['blowfish_secret'] = 'plj123';
    31 $cfg['Servers'][$i]['host'] = 'localhost';
    :wq
    # yum -y install php-mysql
    #mysql -uroot -p123qqq
    mysql>create database webdb;
    mysql>grant all on webdb.* to webuser@"localhost"

    identified by "123456";

    客户端访问
    firefox http://192.168.4.12/phpmyadmin
    用户 webuser
    密码 123456
    +++++++++++++++++++++++++++++++++
    数据备份与恢复
    1 为什么要备份数据?
    数据丢失或误删除时,使用备份文件恢复数据。

    2 数据备份方式?
    物理备份? 备份库或表对应文件
    cp -r /var/lib/mysql/mysql /opt/mysql.bak
    cp /var/lib/mysql/mysql/user.* /opt/

    tar -zcvf /opt/mysql.tar.gz /var/lib/mysql/mysql/*

    164 cp -r /mydata/mysql.bak/ /var/lib/mysql/mysql
    165 chown -R mysql:mysql /var/lib/mysql/mysql
    166 systemctl restart mysqld

    逻辑备份?备份时根据已有的库表及记录生成对应的sql命令,把

    sql保存到指定的备份文件里

    3数据备份策略?
    完全备份 备份所有数据(一台服务器 一个库 一张表)
    差异备份 备份自完全备份后所有新产生
    增量备份 备份自上一次备份后所有新产生

    完全备份+差异备份
    完全备份+增量备份

    4在生成环境下如何实现数据备份
    周期性计划任务 执行 备份脚本

    00 18 * * 1 sh /shell/allbak.sh

  • 相关阅读:
    Mysql主从复制,实现数据同步
    Redis加锁与解锁
    Git常用命令
    R语言实战(二)数据管理
    R语言实战(一)介绍、数据集与图形初阶
    [读书笔记]机器学习:实用案例解析(12)
    [读书笔记]机器学习:实用案例解析(11)
    [读书笔记]机器学习:实用案例解析(10)
    [读书笔记]机器学习:实用案例解析(9)
    [读书笔记]机器学习:实用案例解析(8)
  • 原文地址:https://www.cnblogs.com/fuzhongfaya/p/8952816.html
Copyright © 2011-2022 走看看