MySQL 创建用户

在对 MySQL 的日常管理和实际操作中,为了避免用户恶意冒名使用 root 账号控制数据库,通常需要创建一系列具备适当权限的账号,应该尽可能地不用或少用 root 账号登录系统,以此来确保数据的安全访问。

创建用户

可以使用 CREATE USER 语句来创建一个或多个 MySQL 账户,并设置相应的口令。

语法格式:

CREATE USER <用户名> [ IDENTIFIED ] BY [ PASSWORD ] <口令>

语法说明如下:

1 <用户名>
指定创建用户账号,格式为 ‘user_name’@‘host_name’。这里user_name是用户名,host_name为主机名,即用户连接 MySQL 时所在主机的名字。若在创建的过程中,只给出了账户的用户名,而没指定主机名,则主机名默认为“%”,表示一组主机。

2 PASSWORD
可选项,用于指定散列口令,即若使用明文设置口令,则需忽略PASSWORD关键字;若不想以明文设置口令,且知道 PASSWORD() 函数返回给密码的散列值,则可以在口令设置语句中指定此散列值,但需要加上关键字PASSWORD。

3 IDENTIFIED BY子句
用于指定用户账号对应的口令,若该用户账号无口令,则可省略此子句。

4 <口令>
指定用户账号的口令,在IDENTIFIED BY关键字或PASSWOED关键字之后。给定的口令值可以是只由字母和数字组成的明文,也可以是通过 PASSWORD() 函数得到的散列值。

使用 CREATE USER 语句应该注意以下几点:

	如果使用 CREATE USER 语句时没有为用户指定口令,那么 MySQL 允许该用户可以不使用口令登录系统,然而从安全的角度而言,不推荐这种做法。使用 CREATE USER 语句必须拥有 MySQL 中 MySQL 数据库的 INSERT 权限或全局 CREATE USER 权限。使用 CREATE USER 语句创建一个用户账号后,会在系统自身的 MySQL 数据库的 user 表中添加一条新记录。若创建的账户已经存在,则语句执行时会出现错误。新创建的用户拥有的权限很少。他们可以登录 MySQL,只允许进行不需要权限的操作,如使用 SHOW 语句查询所有存储引擎和字符集的列表等。

如果两个用户具有相同的用户名和不同的主机名,MySQL 会将他们视为不同的用户,并允许为这两个用户分配不同的权限集合。

使用 CREATE USER 创建一个用户,用户名是 james,密码是 tiger,主机是 localhost。输入的 SQL 语句和执行过程如下所示。

mysql> CREATE USER 'james'@'localhost'-> IDENTIFIED BY 'tiger';
Query OK, 0 rows affected (0.12 sec)

在 Windows 命令行工具中,使用新创建的用户 james 和密码 tiger 登录数据库服务器,如下所示。

C:\Users\USER>mysql -h localhost -u james -p
Enter password: *****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.20-log MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/564261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

acm用java怎么写_用java来写ACM

前言从去年10月份开始就一直都在九度oj平台写acm&#xff0c;到今天在九度oj的总排名已经到了第6名&#xff0c;收获很多特别是算法和数据结构方面的提高&#xff0c;这种提高直接反映在我找工作的顺利中但是人总要学会拥抱变化&#xff0c;特别是我即将加入阿里系&#xff0c;…

MySQL 修改用户

修改用户账号 可以使用 RENAME USER 语句修改一个或多个已经存在的 MySQL 用户账号。 语法格式&#xff1a; RENAME USER <旧用户> TO <新用户>语法说明如下&#xff1a; <旧用户>&#xff1a;系统中已经存在的 MySQL 用户账号。<新用户>&#xff1…

MySQL 删除用户

MySQL 数据库中可以使用 DROP USER 语句来删除一个或多个用户账号以及相关的权限。 语法格式&#xff1a; DROP USER <用户名1> [ , <用户名2> ]…使用 DROP USER 语句应该注意以下几点&#xff1a; DROP USER 语句可用于删除一个或多个 MySQL 账户&#xff0c;并…

python模块使用相对路径还是绝对路径、哪种更好_python学习的第十八天模块之包、相对搜索路径和绝对搜索路径...

一、包1、什么是包包是一种通过使用‘.模块名’来组织python模块名称空间的方式。具体就是一个包含有__init__.py文件的文件夹&#xff0c;所以其实我们创建包的目的就是为了用文件夹将文件/模块组织起来PS&#xff1a;(1)在pyhton3中没有__init__不会报错&#xff0c;但在pyth…

python的pygame库使用方法_[宜配屋]听图阁

使用python pygame库实现一个双人弹球小游戏&#xff0c;两人分别控制一个左右移动的挡板用来拦截小球&#xff0c;小球会在两板间不停弹跳&#xff0c;拦截失败的一方输掉游戏&#xff0c;规则类似于简化版的乒乓球。因为是第一次用pygame写python小游戏并且只用了两三个小时&…

MySQL 删除用户权限

MySQL 数据库中可以使用 REVOKE 语句删除一个用户的权限&#xff0c;此用户不会被删除。 语法格式有两种形式&#xff0c;如下所示&#xff1a; 1 第一种&#xff1a; REVOKE <权限类型> [ ( <列名> ) ] [ , <权限类型> [ ( <列名> ) ] ]… ON <对…

java jdbc 多数据源_Jdbctemplate多数据源配置方法详解

1.数据源配置spring:# jdbctemplate 连接多数据源配置db1:datasource:jdbcurl: jdbc:mysql://127.0.0.1:3306/cloud-main1?useUnicodetrue&characterEncodingutf8&useSSLfalse&allowMultiQueriestrueusername: rootpassword: 123456driver-class-name: com.mysql.…

java 语法 泛型_java-解密泛型语法

我正在阅读一个问题,下面给出了方法的签名public static List super E> doIt(List nums)我无法解码语法.我对仿制药很陌生,无法理解这部分.第一部分< E扩展了CharSequence>都告诉E应该是什么作为参数和返回类型.但我确实看到列表了吗&#xff1f;超级E&gt ;,这定义…

MySQL 数据库恢复

数据库恢复是指以备份为基础&#xff0c;与备份相对应的系统维护和管理操作。 系统进行恢复操作时&#xff0c;先执行一些系统安全性的检查&#xff0c;包括检查所要恢复的数据库是否存在、数据库是否变化及数据库文件是否兼容等&#xff0c;然后根据所采用的数据库备份类型采…

java位逻辑运算符_详述:Java逻辑运算符与位运算

Java中逻辑运算符总共有分为三种“ ”&#xff0c;“ll”&#xff0c;“!”运算符、此为逻辑运算符&#xff0c;只有当给定的两个条件都为真时&#xff0c;返回结果为true&#xff0c;否则都为false&#xff01;、此为逻辑非运算符&#xff0c;用来反转操作的true或者false&…

C++ 三种继承方式

C继承的一般语法为&#xff1a; class 派生类名:&#xff3b;继承方式&#xff3d; 基类名{派生类新增加的成员 };继承方式限定了基类成员在派生类中的访问权限&#xff0c;包括 public&#xff08;公有的&#xff09;、private&#xff08;私有的&#xff09;和 protected&am…

mapdb java_MapDB使用入门

背景MapDB官网&#xff1a;http://www.mapdb.org官方翻译之后的话&#xff1a;MapDB基于堆外存储、磁盘存储提供了Java的Maps、Sets、Lists、Queues等功能。它混合了Java集合框架和数据库引擎。它是基于Apache许可的免费的、开源的。个人觉得&#xff1a;MapDB是一个轻量级的本…

C++继承时名字的遮蔽

如果派生类中的成员&#xff08;包括成员变量和成员函数&#xff09;和基类中的成员重名&#xff0c;那么就会遮蔽从基类继承过来的成员。所谓遮蔽&#xff0c;就是在派生类中使用该成员&#xff08;包括在定义派生类时使用&#xff0c;也包括通过派生类对象访问该成员&#xf…

java项目 异常如何解决_Java项目中常见的异常处理

发生异常的情况有很多&#xff0c;其中包括以下几大类&#xff1a;1. 空指针异常&#xff1b;2. 用户输入异常&#xff1b;3. 多层异常捕获&#xff1b;想要知道Java是如何处理异常的&#xff0c;就需要掌握以下这三种异常的处理&#xff1a;1.检查性异常&#xff1a;最具代表的…

C++ 基类和派生类的构造函数

在设计派生类时&#xff0c;对继承过来的成员变量的初始化工作也要由派生类的构造函数完成&#xff0c;但是大部分基类都有 private 属性的成员变量&#xff0c;它们在派生类中无法访问&#xff0c;更不能使用派生类的构造函数来初始化。 解决办法&#xff1a;在派生类的构造函…

java i/o 流详解_java I/O流详解

概况I/O流主要分为二大类别&#xff1a;字符流和字节流。字节流(基本流)1、字节输入流 类名&#xff1a;FileInputStream 特点&#xff1a;读(对文件进行读取操作) 父类&#xff1a;InputStream2、字节输出流 类名&#xff1a;FileOutputStream 特点&#xff1a;写…

C++ 基类和派生类的析构函数

和构造函数类似&#xff0c;析构函数也不能被继承。与构造函数不同的是&#xff0c;在派生类的析构函数中不用显式地调用基类的析构函数&#xff0c;因为每个类只有一个析构函数&#xff0c;编译器知道如何选择&#xff0c;无需程序员干涉。 另外析构函数的执行顺序和构造函数…

素描java字母_进行Java基本GUI设计需要用到的包是

【单选题】下列各类计算机程序语言中,不属于高级程序设计语言的是【填空题】以下程序从名为 filea.dat 的文本文件中逐个读入字符并显示在屏幕上。请填空。 #include main() { FILE *fp; char ch; fp fopen( 【3】 ); ch fgetc(fp); while (!feof(fp)) { putchar(ch); chfget…

C++ 多继承

派生类都只有一个基类&#xff0c;称为单继承&#xff08;Single Inheritance&#xff09;。除此之外&#xff0c;C也支持多继承&#xff08;Multiple Inheritance&#xff09;&#xff0c;即一个派生类可以有两个或多个基类。 多继承的语法也很简单&#xff0c;将多个基类用逗…

C++ 向上转型

在 C 中经常会发生数据类型的转换&#xff0c;例如将 int 类型的数据赋值给 float 类型的变量时&#xff0c;编译器会先把 int 类型的数据转换为 float 类型再赋值&#xff1b;反过来&#xff0c;float 类型的数据在经过类型转换后也可以赋值给 int 类型的变量。 数据类型转换…