zoukankan      html  css  js  c++  java
  • MySQL添加用户、删除用户与授权

    3、增加用户:

    (注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)

      格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”

    第一种:

    增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:

      grant select,insert,update,delete on *.* to test1@“%” Identified by “abc”;

      但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例第二种:

      第一种:增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数

    mysql> grant select,insert,update,delete on book.* to test2@localhost Identified by "abc";
    

      如果你不想test2有密码,可以再打一个命令将密码消掉。

    mysql> grant select,insert,update,delete on book.* to test2@localhost Identified by "";


    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):
    1.新建用户

      1.1 登录MYSQL:
    
      @>mysql -u root -p
    
      @>密码
    
      1.2 创建用户:
    
      mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));

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

      注意:此处的”localhost”,是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将”localhost”改为”%”,表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

      1.3 然后登录一下:

      mysql>exit;
    
      @>mysql -u test -p
    
      @>输入密码
    
      mysql>登录成功

    2.为用户授权

      授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”; 

      2.1 登录MYSQL(有ROOT权限),这里以ROOT身份登录:

      @>mysql -u root -p

      @>密码

      2.2 首先为用户创建一个数据库(testDB):

      mysql>create database testDB;

      2.3 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):

       mysql>grant all privileges on testDB.* to test@localhost identified by '1234';
    
       mysql>flush privileges;//刷新系统权限表

      格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”; 

      2.4 如果想指定部分权限给一用户,可以这样来写:

      mysql>grant select,update on testDB.* to test@localhost identified by '1234';
    
      mysql>flush privileges; //刷新系统权限表

      2.5 授权test用户拥有所有数据库的某些权限:  

      mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";
     //test用户对所有数据库都有select,delete,update,create,drop 权限。
    

      //@”%” 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)

     //对localhost授权:加上一句grant all privileges on testDB.* to test@localhost identified by ‘1234’;即可。

    1. 删除用户
       @>mysql -u root -p
    
      @>密码
    
       mysql>Delete FROM user Where User='test' and Host='localhost';
    
       mysql>flush privileges;
    
       mysql>drop database testDB; //删除用户的数据库
    
    删除账户及权限:>drop user 用户名@'%';
    
            >drop user 用户名@ localhost; 
    1. 修改指定用户密码
        @>mysql -u root -p
    
        @>密码
    
        mysql>update mysql.user set password=password('新密码') where User="test" and Host="localhost";
    
        mysql>flush privileges;
    1. 列出所有数据库
      mysql>show database;
    
    1. 切换数据库
      mysql>use '数据库名';
    
    1. 列出所有表
      mysql>show tables;
    
    1. 显示数据表结构
      mysql>describe 表名;
    1. 删除数据库和数据表  mysql>drop database 数据库名;
    
      mysql>drop table 数据表名;
    一,新建数据库
      
    CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
     
  • 相关阅读:
    关于MySQL数据库优化的部分整理
    PHP跨域form提交
    px、dp和sp,这些单位有什么区别?
    301和302 Http状态有啥区别?
    PHP HTTP请求
    php的http_build_query使用
    nginx ssi 模块
    MongoDB学习笔记(一) MongoDB介绍及安装(摘)
    Django Admin 录入中文错误解决办法
    关于python字符串连接的操作
  • 原文地址:https://www.cnblogs.com/bubaya/p/7565036.html
Copyright © 2011-2022 走看看