zoukankan      html  css  js  c++  java
  • MySQL创建用户+授权+备份

    ======权限管理======
    
    我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、update、grant等操作。
    那么一般情况在公司之后DBA工程师会创建一个用户和密码,让你去连接数据库的操作,并给当前的用户设置某个操作的权限(或者所有权限)。
    那么这时就需要我们来简单了解一下:
    
    如何创建用户和密码
    给当前的用户授权
    移除当前用户的权限
    如果你想创建一个新的用户,则需要以下操作:
    
        1- 进入到mysql数据库下
            use mysql;
        2- 对新用户增删改
            -1 创建用户
                - 指定ip:192.118.1.1的wzy用户登录
                    - create user 'wzy'@'192.118.1.1' identified by '123';
                - 指定ip:192.118.1.开头的wzy用户登录
                    - create user 'wzy'@'192.118.1.%' identified by '123';
                - 指定任何ip的wzy用户
                    - create user 'wzy'@'%' identified by '123';
            -2 删除用户
                - drop user '用户名'@'IP地址';
            -3 修改用户
                - rename user '用户名'@'IP地址' to '新用户名'@'IP地址';
            -4 修改密码
                - set password for '用户名'@'IP地址'=Password('新密码');
        3- 对当前的用户授权管理
            -1 查看授权
                - show grants for '用户'@'IP地址'
            -2 给权限
                -1 授权wzy用户仅对db1.t1文件有查询、插入、和更新的操作
                    - grant select ,insert,update on db1.t1 to "wzy"@'%';
                -2 表示有所有的权限,除了grant这个命令,这个命令是root才有的。wzy用户对db1下的t1文件有任意操作
                    - grant all privileges  on db1.t1 to "wzy"@'%';
                -3 wzy用户对db1数据库中的文件执行任何操作
                    - grant all privileges  on db1.* to "wzy"@'%';
                -4 wzy用户对所用数据库中文件有任何操作
                    - grant all privileges  on *.*  to "wzy"@'%';
            -3 取消权限
                -1 取消wzy用户对db1的t1文件的任意权限
                    - revoke all on db1.t1 from 'wzy'@"%";
                -2 取消来自远程服务器的wzy用户对数据库db1的所有表的所有权限
                    - revoke all on db1.* from 'wzy'@"%";
                -3 取消来自远程服务器的wzy用户所有数据库的所有表权限
                    - revoke all privileges on *.* from 'wzy'@'%';
            -4 查看创建用户状态
                    - use mysql
                    - select host,user from mysql.user;
        4- MySQL备份命令行操作
            1- 备份
                -1 备份:数据库表结构+数据
                - mysqdump -u root db1 > db1.sql -p
                -2 备份:数据表结构
                - mysqdump -u root -d db1 > db1.sql -p
            2- 导入现有的数据到某个数据库
                -1 先创建一个新的数据库
                    - reate database db10;
                -2 将已有的数据库文件导入到db10数据库中
                    - mysqdump -u root -d db10 < db1.sql -p
      
      

    mysql的数据备份
    1.通过命令导出全部数据
    mysqldump -u root -p --all-databases > /data/db.dump
    2.mysql的数据文件都放在/var/lib/mysql/* 中,所有的db信息,以及账号密码信息
    rm -rf /var/lib/mysql/* #清空mariadb所有数据

    3.导入数据库的db文件,在mysql命令行中输入这个命令
    source /opt/db.dump

    4.第二种方式导入数据,通过mysql命令
    mysql -uroot -p < /opt/db.dump

  • 相关阅读:
    linux服务器安装nginx及使用
    服务器搭建
    Linux安装mysql5.7
    个人服务器的选择
    DECODE函数简介
    ORACLE数据库优化
    Mac下JD-GUI无法使用
    Qt 中QString 字符串操作:连接、组合、替换、去掉空白字符
    [Qt初级] 解决 中QMainWindow和QDockWidget添加布局失败问题
    我的JS 中级学习篇
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/9665445.html
Copyright © 2011-2022 走看看