`
winphfar
  • 浏览: 47840 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Mysql 创建用户大法

阅读更多

一般一个使用mysql数据库的网站都要在mysql中创建一个用户来对数据库进行各种操作,这样可以增强安全性。创建mysql用户的方法有好几种:

 

1.grant 命令来创建,比如创建一个test的用户(密码为test),能在本地对test数据库下的所有表进行查看,插入,修改,删除的操作,则命令如下:

grant select,insert,update,delete on test.* to 'test'@'localhost' identified by 'test' with grant option;
flush privileges;

 

注意: 写道
1.如果要给予用户所有操作权限,则为 all privileges,其他要给什么权限就列出来,中间用逗号隔开
2.on 后面为授权的数据库及表,支持*(即所有),如全部数据库则为*.*,“.”前面为数据库名称,后面为表名称
3.to 后面的为用户名,要用引号,@后面为限制访问数据库的地址localhost本地,%指的任意地址,如果指定的地址则输入相对应的ip地址
4. by 后面的是密码了,要引起来

 

2.CREATE USER

CREATE USER user [IDENTIFIED BY [PASSWORD] 'password'] [, user [IDENTIFIED BY [PASSWORD] 'password']] ...

 

CREATE USER用于创建新的MySQL账户。要使用CREATE USER,您必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限。对于每个账户,CREATE USER会在没有权限的mysql.user表中创建一个新记录。如果 账户已经存在,则出现错误。使用自选的IDENTIFIED BY子句,可以为账户给定一个密码。user值和 密码的给定方法和GRANT语句一样。特别是,要在纯文本中指定密码,需忽略PASSWORD关键词。要把 密码指定为由PASSWORD()函数返回的混编值,需包含关键字PASSWORD。

 

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

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表中的Host、User和Password列记录为指定的值。没有一个权限列为显式设置,因此MySQL将它们均指定为 默认值'N'。这样等同于GRANT USAGE的操作。

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

 

其他的方法都大同小异,一般第一种方法用的最多。

0
0
分享到:
评论

相关推荐

    MSSQL 数据库中创建MySql 跨数据库数据同步

    5. **创建dblink**:接下来,我们将创建一个视图或者存储过程,通过四部分命名法([LinkedServer].[Database].[Schema].[Object])来访问MySQL的数据。 ```sql SELECT * FROM MySQL_LinkServer.MySQLDB.dbo.MyTable...

    mysql linux 手动安装大法

    为了方便后续管理和启动MySQL,创建一个mysql用户组和用户: ```bash sudo groupadd mysql sudo useradd -r -g mysql -s /sbin/nologin -M mysql ``` 接着,设置数据目录并初始化MySQL: ```bash sudo mkdir /var...

    Navicat9_MySql

    2. **连接管理**:用户可以创建多个数据库连接,管理不同的MySQL服务器,支持SSH和HTTP隧道,确保数据传输的安全性。 3. **图形化界面**:提供直观的GUI(图形用户界面),使得数据库操作变得简单易懂,包括表的设计...

    mysql总结超详细

    - **2.0.4 创建用户及授权哪个网段的主机可以连接oldboy_gbk库** - 可以使用通配符指定允许连接的主机范围。 - **2.0.5 关于MySQL回收某个用户权限** - 使用`REVOKE privileges ON db_name.* FROM 'username'@'...

    MySQL的分布式数据库访问法.pdf

    【MySQL的分布式数据库访问法】 在关系型数据库领域,MySQL是一个广泛应用的开源数据库系统,具有跨平台、高性能、易用性等优点。然而,MySQL本身并不直接支持分布式数据库的功能,即无法在一个SQL查询语句中同时...

    mysql-front5.1的注册码.txt

    该软件支持Windows操作系统,可以帮助用户轻松地创建、修改和管理MySQL数据库及其内容。MySQL-Front 5.1是该系列的一个具体版本,提供了丰富的功能,如数据表的设计、查询、索引管理等。 ### 注册码的重要性 在...

    PHP and MySQL for Dynamic Web Sites (4th edition)

    jQuery是一个快速、小巧、功能强大的JavaScript库,它的引入使得操作DOM变得更加简便,极大提高了网页的交互性和用户体验。同时,面向对象编程(OOP)是一种编程范式,它使用“对象”来设计软件,与传统的过程式编程...

    mysql激活码

    - 不要非法分享或使用未经授权的激活码,这违反了版权法。 - 确保激活码来源可靠,避免下载携带恶意软件的假激活码。 - 定期更新MySQL到最新版本,以获取安全补丁和新功能。 5. **MySQL管理**: - 使用命令行...

    MySql的基本语法

    在MySQL客户端使用用户变量的方式如下: ```sql SELECT 'Hello World' INTO @x; SELECT @x; SET @y = 'Goodbye Cruel World'; SELECT @y; SET @z = 1 + 2 + 3; SELECT @z; ``` 在存储过程中使用用户变量...

    MySQL命令大全

    MySql的用户管理是通过User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下: grant all on mydb...

    mysql-workbench-gpl-5.2.35

    它的版本mysql-workbench-gpl-5.2.35是GPL许可下的一个发行版,意味着它是免费且开源的,用户可以自由地使用、修改和分发。在这款工具中,你可以执行SQL查询、创建和管理数据库模式,以及进行数据建模。 MySQL ...

    MySQL-Front v3.2.2.10 特别版.rar

    1. 数据库管理:用户可以创建、修改和删除数据库,以及管理数据库权限,分配用户访问权限。 2. 表管理:允许用户设计表结构,包括定义字段、数据类型、主键、外键等,并提供数据导入导出功能。 3. 查询构建:用户...

    mysql front 5.1 注册码 .txt

    MySQL Front 是一款高效且用户友好的图形化 MySQL 客户端工具,适用于 Windows 平台。该软件提供了丰富的功能集,旨在简化数据库管理任务,使数据库管理员、开发人员和其他相关人员能够更加轻松地进行数据操作。 ##...

    mysql网络数据库指南(中文版) part1

    它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL 数据库的程序,另外,MySQL在UNIX等操作系统上是免费的,在Windows操作系统上,可免费使用其客户机程序和客户...

    深入了解MySQL数据库

    - MySQL提供了丰富的在线帮助文档,用户可以通过命令行客户端使用`HELP <command>`来获取关于某个命令的帮助信息。 - 此外,还可以参考MySQL官方文档以及社区提供的资源。 #### MySQL支持的数据类型 - **数值...

    connexion-mysql.zip_How to Connect_MYSQL_mysql vb_vb mysql

    从标签"how_to_connect mysql mysql_vb vb_mysql"我们可以看出,这个压缩包包含的文件将指导用户如何在VB应用程序中实现MySQL数据库的连接。 VB是一种流行的编程语言,常用于开发Windows应用程序。MySQL则是一种...

    navicat8_mysql

    Navicat8_MySQL的核心特性在于其强大的数据可视化能力,使得用户可以轻松地创建、管理和维护MySQL数据库。该版本支持多种数据库操作,包括数据查询、数据导入导出、数据库同步、数据备份以及数据库计划任务等。对于...

    mysql-front-setup

    在数据库设计方面,MySQL-Front允许用户直观地创建和调整数据库模式。你可以添加、删除或修改表字段,设定主键和外键关系,以及创建索引。此外,它还支持视图的创建和管理,让你能以自定义的方式查看和操作数据。 ...

    mysql存储过程实例

    - `PROC_NAME` 是存储过程的名称,不区分大小写,但建议使用驼峰命名法以提高可读性。 - `IN` 参数用于传递值到存储过程,过程内部无法改变其值。 - `OUT` 参数用于从存储过程传出结果,初始值为空,在过程内部会被...

Global site tag (gtag.js) - Google Analytics