zoukankan      html  css  js  c++  java
  • Mysql用户相关操作

    MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用。如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接。

    在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新用户:

    CREATE USER username IDENTIFIED BY 'password';

    新用户创建完成,但是此刻如果以此用户登陆的话,会报错,因为我们还没有为这个用户分配相应权限,分配权限的命令如下:

    GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';

    授予username用户在所有数据库上的所有权限。

    GRANT REPLICATION SLAVE ON *.* TO 'backup'@'address' IDENTIFIED BY 'backup_xxx'; 创建主从同步数据的账号

    如果此时发现刚刚给的权限太大了,如果我们只是想授予它在某个数据库上的权限,那么需要切换到root 用户撤销刚才的权限,重新授权:

    REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'localhost';

    GRANT ALL PRIVILEGES ON dbnames.* TO 'username'@'localhost' IDENTIFIED BY 'password';

    甚至还可以指定该用户只能执行 select 和 update 命令:

    GRANT SELECT, UPDATE ON dbnames.* TO 'username'@'localhost' IDENTIFIED BY 'password';

    这样一来,再次以username登陆 MySQL,只有dbnames数据库是对其可见的,并且如果你只授权它select权限,那么它就不能执行除select之外的语句。

    另外每当调整权限后,通常需要执行以下语句刷新权限:

    FLUSH PRIVILEGES;

    删除刚才创建的用户:

    DROP USER username@localhost;

    仔细上面几个命令,可以发现不管是授权,还是撤销授权,都要指定响应的host(即 @ 符号后面的内容),因为以上及格命令实际上都是在操作mysql数据库中的user表,可以用如下命令查看相应用户及对应的host:

    SELECT User, Host FROM user;

    当然,这个表中还包含很多其它例如用户密码、权限设置等很多内容,操作时候尤其需要小心。

    忘记Root密码:

    开启防火墙,确保在其他人不会连接到数据库的时候:

    关闭Mysql,并修改配置文件(my.cnf): 在[mysqld]下面添加:skip-grant-tables

    重启mysql,连接之后即可修改root密码

  • 相关阅读:
    JS 加载html 在IE7 IE8下 可调试
    css 实现三角形 实现过程
    JSONP 理解 和 实例 讲解
    js 闭包 理解
    常见input输入框 点击 发光白色外阴影 focus
    常用垂直居中 随窗口改变一直居中布局 实例
    修改wampserver 默认localhost 和phpmyadmin 打开链接
    validate jquery 注册页面使用实例 详解
    mysql 查询表结构 查询索引
    wampserver 绑定域名 外部可以正常访问
  • 原文地址:https://www.cnblogs.com/libaoting/p/4107625.html
Copyright © 2011-2022 走看看