zoukankan      html  css  js  c++  java
  • mysql数据库创建用户、赋权、修改用户密码

    创建新用户

    create user lisi identified by '123456';

    查看创建结果:

    授权

    命令格式:grant privilegesCode on dbName.tableName to username@host identified by "password";

    命令说明:

    privilegesCode表示授予的权限类型,常见有:

    1. all privileges:所有权限;
    2. select:读取权限;
    3. delete:删除权限;
    4. update:更新权限;
    5. create:创建权限;
    6. drop:删除数据库、数据表权限。

    dbName.tableName表示授予权限的具体库或表,常用有:

    1. “ *.* 点号表示授予用户所有数据库和表的权限;
    2. dbName.*:授予dbName数据库所有表的权限;
    3. dbName.dbTable:授予数据库dbName中dbTable表的权限。   

    username@host中的host表示允许登录的IP,常见有:

    1. localhost只允许该用户在本地登录,不能远程登录;
    2. %:允许远程登录;
    3. 192.168.12.34具体的IP表示只允许该用户从特定IP登录。

    新建一个数据库 dblisi:create database dblisi;

    赋权李四去使用数据库dblisi:允许远程,密码为123456

    grant all privileges on dblisi.* to lisi@'%' identified by '123456';

    刷新权限:flush privileges;

    退出用账号lisi登录:mysql -u lisi -p

    输入密码123456

    登陆成功后切换数据库:

    可见只有数据库dblisi的使用权。

    update mysql.user set password = password('12345678') where user = 'lisi' ;

    注意:在mysql8的版本中授权命令发生了改变,先: create user root@‘%’  identified by '123456'; 再:grant all privileges on *.*  to 'root'@'%';

    里面的*和%就自选了。

    修改用户密码

    直接修改登录用户的密码:

     虽然0 rows affected,刷新失败,但是退出去用密码123可以登录进来;

    远程也能连接:

     登录root,修改密码为123,刷新,如下:

     同样 0 rows affected,但是刷新成功;

    远程登录却失败:

    这是个奇怪的现象。看来修改root密码用set password并不行。换一个方式:

    update mysql.user set authentication_string=password('123') where user='root';
    刷新:flush privileges;

    连接成功!

     

     注意,新版的mysql下authentication_string才是密码字段。

    删除用户

    drop user username@'%';

  • 相关阅读:
    【OCP12c】CUUG最新考试原题整理及答案(07110)
    OCP 12c最新考试原题及答案(0718)
    【OCP12c】CUUG最新考试原题整理及答案(0719)
    OCP 12c最新考试原题及答案(0714)
    《PHP与MySQL程序设计》面向对象的PHP
    Linux常用命令之文件管理
    《锋利的jQuery》之jQuery简介
    《锋利的jQuery》之jQuery与Ajax
    Google AppEngine上部署PHP应用
    《PHP与MySQL程序设计》第三章 PHP基础
  • 原文地址:https://www.cnblogs.com/wangyi0419/p/12070916.html
Copyright © 2011-2022 走看看