• MySQL中创建用户分配权限


    测试环境:CentOS6.8 和 MySQL5.5.4

    一 需求

    在项目开发的过程中可能需要开放自己的数据库给别人,但是出于安全的考虑,不能同时开放自己服务器里的其他数据库。那么可以新建一个用户,赋予该用户特定的数据库权限。

    二 实现

    1 新建用户

    复制代码
    // root 用户登陆 MySQL
    mysql -uroot -p
    Enter password:
    // 新建用户
    mysql>insert into mysql.user(Host,User,Password) values("localhost","buff",password("buff"));
    // 刷新系统权限表
    mysql>flush privileges;
    复制代码

    这样就创建了一个名为:buff,密码为:buff 的用户。

    2 登陆测试

    mysql>exit
    // 用户 buff 登陆 MySQL
    mysql -ubuff -p
    Enter password:
    mysql>

    说明新建的用户 buff 登陆成功。

    3 用户授权

    复制代码
    // root 用户登陆 MySQL
    mysql -uroot -p
    Enter password:
    // 为用户 buff 创建一个数据库 bluebuff
    mysql>create database bluebuff;
    // 授权用户 buff 拥有数据库 bluebuff 的所有权限
    mysql>grant all privileges on bluebuff.* to buff@localhost identified by 'buff';
    mysql>flush privileges;
    复制代码
    1)授权wangli 使用密码123456从%任何主机连接到mysql服务器
    grant all privileges  on *.* to 'wangli'@'%' identified by '123456' with grant option;
    flush privileges;
    //授权指定ip登录
    GRANT select,insert,update,delete ON *.* TO root@"132.232.132.214" IDENTIFIED BY "wanglijun123";
    flush privileges;
    2)查看已经授权的用户
    mysql> select host,user,authentication_string from mysql.user;
    +-----------+---------------+-------------------------------------------+
    | host      | user          | authentication_string                     |
    +-----------+---------------+-------------------------------------------+
    | localhost | root          | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
    | localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
    | localhost | mysql.sys     | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
    | %         | wangli        | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
    +-----------+---------------+-------------------------------------------+

    修改 配置文件:

    vim /etc/mysql/mysql.conf.d/mysqld.cnf

    注销掉这个#bind-address = 127.0.0.1

    然后重启mysql; 必须重启否则不生效!

    service mysql restart

     4 登录测试

    // 用户 buff 登陆数据库
    mysql -ubuff -p
    Enter privileges:
    // 显示数据库
    mysql>show databases;

    结果如下图所示,说明为用户 buff 授权成功

    5 修改用户 buff 的密码

    复制代码
    // root 用户登陆 MySQL
    mysql -uroot -p
    Enter password:
    // 修改用户 buff 的密码
    mysql>update table mysql.user set password=password('buffer') where User='buff' and Host='localhost';
    mysql>flush privileges;
    复制代码

    6 删除用户

    复制代码
    // root 用户登陆 MySQL
    mysql -uroot -p
    Enter password:
    // 删除用户 buff
    mysql>delete from mysql.user where User = 'buff' and Host = 'localhost';
    mysql>flush privileges;
    复制代码

    7 删除数据库

    mysql>drop database bluebuff;

    忘记密码可以修改

    配置文件下:

    vim /etc/mysql/mysql.conf.d/mysqld.cnf 的 skip-grant-tables 参数加上;然后重启就可以不用密码登录了。

    
    
  • 相关阅读:
    HotSpot算法实现
    垃圾收集器(一)
    Java内存区域
    第53条:接口优先于反射机制
    C# 文本转语音,在语音播放过程中停止语音
    C# an error has occurred while updating the entries.see the log file
    音频播放时出现 Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD
    C# CSV文件读写
    图解 SQL-Server新建作业
    FineUI 布局宽度自适应,后台回调js方法
  • 原文地址:https://www.cnblogs.com/wanglijun/p/8884528.html
Copyright © 2020-2023  润新知