`

MySQL学习心路历程-帐户创建与删除、口令更改

阅读更多

1. 创建用户账户

可以用三种方式创建MySQL账户:

1 使用GRANT语句

2 直接操作MySQL授权表

3 使用CREATE USER语句

最好的方法是使用GRANT语句,因为这样更精确,错误少。

创建账户的其它方法是使用MySQL账户管理功能的第三方程序。phpMyAdmin即是一个程序。

下面的示例说明如何使用MySQL客户端程序来设置新用户。为了更改,你必须以MySQL root用户连接MySQL服务器,并且root账户必须有mysql数据库的INSERT权限和RELOAD管理权限。

首先,使用MySQL程序以MySQL root用户来连接服务器:

shell> MySQL --user=root MySQL

如果你为root账户指定了密码,还需要为该MySQL命令和本节中的其它命令提供--password-p选项。

root连接到服务器上后,可以添加新账户。下面的语句使用GRANT来设置四个新账户:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
      ->      IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
      ->      IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';

除了GRANT,你可以直接用INSERT语句创建相同的账户,然后使用FLUSH PRIVILEGES告诉服务器重载授权表:

shell> mysql --user=root mysql
mysql> INSERT INTO user
      ->      VALUES('localhost','monty',PASSWORD('some_pass'),
      ->      'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO user
      ->      VALUES('%','monty',PASSWORD('some_pass'),
      ->      'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO user SET Host='localhost',User='admin',
      ->      Reload_priv='Y', Process_priv='Y';
mysql> INSERT INTO user (Host,User,Password)
      ->      VALUES('localhost','dummy','');
mysql> FLUSH PRIVILEGES;

当你用INSERT创建账户时使用FLUSH PRIVILEGES的原因是告诉服务器重读授权表。否则,只有重启服务器后更改方会被注意到。使用 GRANT,则不需要使用FLUSH PRIVILEGES

INSERT使用PASSWORD()函数是为了加密密码。GRANT语句为你加密密码,因此不需要PASSWORD()

'Y'值启用账户权限。对于admin账户,还可以使用更加可读的INSERT扩充的语法(使用SET)。

在为dummy账户的INSERT语句中,只有user表中的HostUserPassword列记录为指定的值。没有一个权限列为显式设置,因此MySQL将它们均指定为 默认值'N'。这样等同于GRANT USAGE的操作。

请注意要设置超级用户账户,只需要创建一个权限列设置为'Y'user表条目。user表权限为全局权限,因此其它 授权表不再需要条目。

第三种方法,CREATE USER语句。
shell> mysql --user=root
mysql> create user 'jian'@'localhost' identified by 'my123';#账户密码设置和grant语句类似

2.删除用户账户

要想移除账户,应使用DROP USER语句.
mysql>drop user 'jian'@'localhost'; 

3.更改账户口令

设置MySQL用户帐号密码的方法有三种:

  • 使用mysqladmin程序:

    % mysqladmin -h localhost -u root password "password"   #设置在本地以root身分登录的密码
    % mysqladmin -h remote -u root password "password" #设置远程主机以root身分登录的密码

    在初始设置时,这两条语句都要运行,以确保数据库本地访问和网络访问的安全。

  • 通过set password这条SQL语句设置:

    mysql> set password for 'root'@'localhost' = password('password');
    mysql> set password for 'root'@'remote' = password('password');
  • 直接修改user权限表:

    mysql> use mysql;
    mysql> update user set password=password('password') where user='root';
    mysql> flush privileges; #重载权限表,使修改马上生效
分享到:
评论

相关推荐

    mysql连接包mysql-connector-java-5.1.27.jar

    MySQL是世界上最流行的开源关系型数据库管理系统之一,而`mysql-connector-java`是MySQL官方提供的用于Java应用程序连接到MySQL服务器的驱动程序。`mysql-connector-java-5.1.27.jar`是这个驱动的一个特定版本,它...

    mysql驱动包 mysql-connector-java-5.1.13-bin.jar

    mysql驱动包 mysql-connector-java-5.1.13-bin.jar 方便快捷获取。。。

    mysql-connector-java-5.1.40.zip和mysql-connector-java-5.1.10.jar

    MySQL是世界上最受欢迎的开源数据库系统之一,而MySQL Connector/J是MySQL官方提供的用于Java应用程序与MySQL数据库之间连接的驱动程序。本文将深入探讨这两个文件:"mysql-connector-java-5.1.40.zip" 和 "mysql-...

    mysql高级笔记 P1 day01-02. MySQL 高级 - Linux上安装MySQL P2 day01-03. MyS

    mysql高级笔记 P1 day01-02. MySQL 高级 - Linux上安装MySQL P2 day01-03. MySQL 高级 - 启动及登录MySQL... MySQL 高级 - 视图 - 创建及修改视图 P13 day01-14. MySQL 高级 - 视图 - 查看及删除视图 P14 day01-15. MyS

    mysql-connector-java-5.1.47 jar包

    MySQL Connector/J是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够通过编写Java代码来访问和操作MySQL数据库。`mysql-connector-...

    mysql-connector-java-5.1.45-bin.jar

    MySQL Connector/J是MySQL数据库官方提供的Java驱动程序,用于在Java应用程序中与MySQL数据库进行通信。这个"mysql-connector-java-5.1.45-bin.jar"文件是该驱动的一个特定版本,即5.1.45版。这个版本是纯净且正版的...

    mysql-connector-java-5.1.7-bin.jar

    为了在Java环境中与MySQL数据库进行交互,我们需要一个中间桥梁,这就是所谓的JDBC(Java Database Connectivity)驱动。"mysql-connector-java-5.1.7-bin.jar" 文件就是这个桥梁,它是一个Java归档(JAR)文件,...

    mysql-connector-java-5.1.32-bin.jar

    5.6.20 最新JDBC mysql-connector-java-5.1.32-bin.jar

    mysql-8.0.29-winx64

    - 执行MySQL的“mysql_secure_installation”脚本,这将删除匿名用户、禁止远程root登录、删除测试数据库并刷新权限,使你的MySQL服务器更安全。 9. **备份与恢复**: - 备份:使用`mysqldump`命令创建数据库的...

    mysql-connector-odbc-5.3.4-win32.msi

    MySQL Connector/ODBC 是 MySQL 数据库管理系统与 Microsoft ODBC(Open Database Connectivity)接口之间的桥梁,使得 Windows 上的应用程序可以通过 ODBC 进行 MySQL 数据库的访问。`mysql-connector-odbc-5.3.4-...

    mysql-connector-java-8.0.18.jar

    这是MySQL最新的jar,mysql-connector-java-8.0.18.jar

    mysql-connector-java-5.1.37jar包和源码

    MySQL Connector/J是MySQL数据库的Java连接器,它允许Java应用程序通过JDBC(Java Database Connectivity)接口与MySQL数据库进行通信。在本案例中,"mysql-connector-java-5.1.37.jar" 是一个特定版本的MySQL JDBC...

    mysql-connector-java-8.0.11

    MySQL Connector/J是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够方便地在MySQL数据库上执行SQL查询和操作。在这个"mysql-...

    mysql-connector-odbc-5.1.7-winx64驱动安装包

    一旦 DSN 创建完成,任何支持 ODBC 的应用程序(如 Microsoft Excel、Access 或自定义开发的软件)都可以通过选择这个 DSN 来连接到 MySQL 数据库,执行查询、插入、更新和删除操作。 7. **安全注意事项** 在配置...

    mysql-connector-java-5.1.40-bin.jar连接器

    MySQL Connector/J是MySQL数据库系统与Java应用程序之间的重要桥梁,它是一个实现了JDBC(Java Database Connectivity)规范的驱动程序,使得Java开发者能够通过编写Java代码来访问、操作MySQL数据库。在这个特定的...

    mysql-connector-java-5.1.42-bin.jar 官网驱动下载

    mysql-connector-java-5.1.42-bin.jar 官网下载的驱动

    mysql-connector-odbc-5.2.7-winx64.msi

    MySQL Connector/ODBC可以与现今大多数的数据库一起使用,尤其是MYSQL的4.1,5.0,5.1,6.0版本。 用于Win 64位系统的mysql connector/odbc驱动! 由于64位系统可以使用更大的内存,所以这个连接器 一般64位版本...

    mysql-connector-java-gpl-5.1.36

    MySQL Connector/J是MySQL数据库系统与Java应用程序之间的桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够方便地在Java应用程序中访问MySQL数据库。"mysql-connector-...

    mysql-connector-java-8.0.11.jar包

    mysql-connector-java-8.0.11.jar连接器,用于在hive和mysql的数据库连接

    mysql弱口令检查方法

    ### MySQL弱口令检查方法详解 #### 一、引言 在网络安全日益受到重视的今天,数据库的安全性显得尤为重要。MySQL作为一款广泛使用的开源关系型数据库管理系统,其安全性更是不容忽视。弱密码作为一种常见的安全...

Global site tag (gtag.js) - Google Analytics