mysql怎么创建新账户 mysql怎么创建新的数据库

mysql如何创建新用户

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 然后登录一下:

mysqlexit;

@mysql -u test -p

@输入密码

mysql登录成功

2.为用户授权

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

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

@mysql -u root -p

@密码

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

mysqlcreate database testDB;

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

mysqlgrant all privileges on testDB.* to test@localhost identified by '1234';

mysqlflush privileges;//刷新系统权限表

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

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

mysqlgrant select,update on testDB.* to test@localhost identified by '1234';

mysqlflush privileges; //刷新系统权限表

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

mysqlgrant 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';即可。

mysql 新建用户

MySQL新建用户,授权,删去用户,修改密码操作

测试环境:WIN32 mysql5.0.45

首先要声明一下:一般环境下,修改MySQL密码,授权,是需要有mysql里的root职权范围的。

注:本操作是在WIN号令提示符下,phpMyAdmin一样适用。

用户:phplamp用户数值库:phplampDB

1.新建用户。

//登录MYSQL

@mysql -u root -p

@密码

//创立用户

mysql insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));

//按F5体系职权范围表

mysqlflush privileges;

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

然后登录一下。

mysqlexit;

@mysql -u phplamp -p

@输入密码

mysql登录成功

2.为用户授权。

//登录MYSQL(有ROOT职权范围)。我里我以ROOT身份登录.

@mysql -u root -p

@密码

//首先为用户创立一个数值库(phplampDB)

mysqlcreate database phplampDB;

//授权phplamp用户拥有phplamp数值库的所有职权范围。

grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';

//按F5体系职权范围表

mysqlflush privileges;

mysql其它操作

/*

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

mysqlgrant select,update on phplampDB.* to phplamp@localhost identified by '1234';

//按F5体系职权范围表。

mysqlflush privileges;

*/

3.删去用户。

@mysql -u root -p

@密码

mysqlDELETE FROM user WHERE User="phplamp" and Host="localhost";

mysqlflush privileges;

//删去用户的数值库

mysqldrop database phplampDB;

4.修改指定用户密码。

@mysql -u root -p

@密码

mysqlupdate mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";

mysqlflush privileges;

-------------------------------------------------- --------------------------------------------------- -----------

mysql有几个图形办理软件很好用,好比mysql-front ,phpadmin等等,简单易用,这里就不做先容了。别的eclipse有个数值库办理的插件叫,可以对各类常用的数值库进行图形办理,也很好用。

下面步入正题,先容下sql常用操作:

创立库表和查询插入删去记录的操作熟稔,就不作先容了。这里主要说一下对用户和密码的操作,这些操作也很重要,尤其在刚启用数值库时颇有用。

登录MYSQL

mysql -u root -p

密码

创立用户

mysql mysql insert into mysql.user(Host,User,Password,ssl_cipher,x509_issu er,x509_sub

ject) values("localhost","fred",password("love"),'','',' ');

创立后的用户名为:fred 密码为:love

创立数值库(test)

mysqlcreate database test;

将test数值库的所有职权范围授权给用户fred

grant all privileges on test.* to fred@localhost identified by 'love';

按F5体系职权范围表

mysqlflush privileges;

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

mysqlgrant select,update on phplampDB.* to fred@localhost identified by 'love';

按F5体系职权范围表。

mysqlflush privileges;

修改指定用户密码。

mysql -u root -p

密码

mysqlupdate mysql.user set password=password('新密码') where User="fred" and Host="localhost";

mysqlflush privileges;

删去用户。

mysql -u root -p

密码

mysqlDELETE FROM user WHERE User="fred" and Host="localhost";

mysqlflush privileges;

删去用户的数值库

mysqldrop database test;

其它一些有用的操作:

列出所有数值库

mysqlshow database;

切换数值库

mysqluse '数值库名';

列出所有表

mysqlshow tables;

预示数值表布局

mysqldescribe 表名;

删去数值库和数值表

mysqldrop database 数值库名;

mysqldrop table 数值表名;

请教如何新增一个账户管理已有mysql数据库

有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些。

下面的例子显示出如何使用MySQL客户安装新用户。这些例子假定权限已缺省被安装。这意味着为了改变,你必须在MySQL正在运行同一台机器上,你必须作为MySQL root用户连接,并且root用户必须对MySQL数据库有insert权限和reload管理权限。另外,如果你改变了root用户口令,你必须如下的MySQL命令指定它。

你可以通过发出GRANT语句增加新用户:

shell mysql --user=root mysql

mysql GRANT ALL PRIVILEGES ON *.* TO monty@localhost

IDENTIFIED BY 'something' WITH GRANT OPTION;

mysql GRANT ALL PRIVILEGES ON *.* TO monty@"%"

IDENTIFIED BY 'something' WITH GRANT OPTION;

mysql GRANT RELOAD,PROCESS ON *.* TO admin@localhost;

mysql GRANT USAGE ON *.* TO dummy@localhost;

这些GRANT语句安装3个新用户:

monty:可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令('something'做这个。注意,我们必须对monty@localhost和monty@"%"发出GRANT语句。如果我们增加localhost条目,对localhost的匿名用户条目在我们从本地主机连接接时由mysql_install_db创建的条目将优先考虑,因为它有更特定的Host字段值,所以以user表排列顺序看更早到来。

admin:可以从localhost没有一个口令进行连接并且被授予reload和process管理权限的用户。这允许用户执行mysqladmin reload、mysqladmin refresh和mysqladmin flush-*命令,还有mysqladmin processlist。没有授予数据库有关的权限。他们能在以后通过发出另一个GRANT语句授权。

dummy:可以不用一个口令连接的一个用户,但是只能从本地主机。全局权限被设置为'N'--USAGE权限类型允许你无需权限就可设置一个用户。它假定你将在以后授予数据库相关的权限。

你也可以直接通过发出INSERT语句增加同样的用户存取信息,然后告诉服务器再次装入授权表:

shell mysql --user=root mysql

mysql INSERT INTO user VALUES('localhost','monty',PASSWORD('something'),

'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')

mysql INSERT INTO user VALUES('%','monty',PASSWORD('something'),

'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;

取决于你的MySQL版本,对上述,你可能必须使用一个不同数目'Y'值(在3.22.11以前的版本有更少的权限列)。对admin用户,只用在3.22.11开始的版本具有的更加可读的INSERT扩充的语法。

注意,为了设置一个超级用户,你只需创造一个user表条目,其权限字段设为'Y'。不需要db或host表的条目。

在user表中的权限列不是由最后一个INSERT语句明确设置的(对dummy用户),因此那些列被赋予缺省值'N'。这是GRANT USAGE做的同样的事情。

下列例子增加一个用户custom,他能从主机 localhost、server.domain和whitehouse.gov连接。他只想要从localhost存取bankaccount数据库,从whitehouse.gov存取expenses数据库和从所有3台主机存取customer数据库。他想要从所有3台主机上使用口令stupid。

为了使用GRANT语句设置个用户的权限,运行这些命令:

shell mysql --user=root

mysql mysql GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

ON bankaccount.*

TO custom@localhost

IDENTIFIED BY 'stupid';

mysql GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

ON expenses.*

TO custom@whitehouse.gov

IDENTIFIED BY 'stupid';

mysql GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

ON customer.*

TO custom@'%'

IDENTIFIED BY 'stupid';

通过直接修改授权表设置用户权限,运行这些命令(注意,在结束时FLUSH PRIVILEGES):

shell mysql --user=root

mysql mysql INSERT INTO user (Host,User,Password)

VALUES('localhost','custom',PASSWORD('stupid'));

mysql INSERT INTO user (Host,User,Password)

VALUES('server.domain','custom',PASSWORD('stupid'));

mysql INSERT INTO user (Host,User,Password)

VALUES('whitehouse.gov','custom',PASSWORD('stupid'));

mysql INSERT INTO db

(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,

Create_priv,Drop_priv)

VALUES

('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y');

mysql INSERT INTO db

(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,

Create_priv,Drop_priv)

VALUES

('whitehouse.gov','expenses','custom','Y','Y','Y','Y','Y','Y');

mysql INSERT INTO db

(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,

Create_priv,Drop_priv)

VALUES('%','customer','custom','Y','Y','Y','Y','Y','Y');

mysql FLUSH PRIVILEGES;

头3个INSERT语句增加user表条目,允许用户 custom用给定口令从不同的主机进行连接,但是没有授予任何许可(所有权限被设置为缺省值'N')。后3个INSERT语句增加db表条目,授予 custom以bankaccount、expenses和customer数据库权限,但是只能在从正确的主机存取时。通常,在授权表直接被修改时,服务器必须被告知再次装入他们(用FLUSH PRIVILEGES)以便使权限修改生效。 如果你想要给特定的用户从一个给定的域上的任何机器上存取权限,你可以发出一个如下的GRANT语句:

mysql GRANT ...

ON *.*

TO myusername@"%.mydomainname.com"

IDENTIFIED BY 'mypassword';

为了通过直接修改授权表做同样的事情,这样做:

mysql INSERT INTO user VALUES ('%.mydomainname.com', 'myusername',

PASSWORD('mypassword'),...);

mysql FLUSH PRIVILEGES;

你也可以使用xmysqladmin、mysql_webadmin甚至xmysql在授权表中插入、改变和更新值。你可以在MySQL的Contrib目录找到这些实用程序。

如何给mysql数据库添加一个用户

首先以root身份登录到MySQL服务器中。

$ mysql -u root -p

当验证提示出现的时候,输入MySQL的root帐号的密码。

创建一个MySQL用户

使用如下命令创建一个用户名和密码分别为"myuser"和"mypassword"的用户。

mysql CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';

一旦用户被创建后,包括加密的密码、权限和资源限制在内的所有帐号细节都会被存储在一个名为user的表中,这个表则存在于mysql这个特殊的数据库里。

运行下列命令,验证帐号是否创建成功

mysql SELECT host, user, password FROM mysql.user WHERE user='myuser';

赋予MySQL用户权限

一个新建的MySQL用户没有任何访问权限,这就意味着你不能在MySQL数据库中进行任何操作。你得赋予用户必要的权限。以下是一些可用的权限:

ALL: 所有可用的权限

CREATE: 创建库、表和索引

LOCK_TABLES: 锁定表

ALTER: 修改表

DELETE: 删除表

INSERT: 插入表或列

SELECT: 检索表或列的数据

CREATE_VIEW: 创建视图

SHOW_DATABASES: 列出数据库

DROP: 删除库、表和视图

运行以下命令赋予"myuser"用户特定权限。

mysql GRANT privileges ON database.table TO 'myuser'@'localhost';

以上命令中,privileges 代表着用逗号分隔的权限列表。如果你想要将权限赋予任意数据库(或表),那么使用星号(*)来代替数据库(或表)的名字。

例如,为所有数据库/表赋予 CREATE 和 INSERT 权限:

mysql GRANT CREATE, INSERT ON *.* TO 'myuser'@'localhost';

验证给用户赋予的全权限:

mysql SHOW GRANTS FOR 'myuser'@'localhost';

将全部的权限赋予所有数据库/表:

mysql GRANT ALL ON *.* TO 'myuser'@'localhost';

你也可以将用户现有的权限删除。使用以下命令废除"myuser"帐号的现有权限:

mysql REVOKE privileges ON database.table FROM 'myuser'@'localhost';

为用户添加资源限制

在MySQL中,你可以为单独的用户设置MySQL的资源使用限制。可用的资源限制如下:

MAX_QUERIES_PER_HOUR: 允许的每小时最大请求数量

MAX_UPDATES_PER_HOUR: 允许的每小时最大更新数量

MAX_CONNECTIONS_PER_HOUR: 允许的每小时最大连接(LCTT译注:其与 MySQL全局变量: max_user_connections 共同决定用户到数据库的同时连接数量)数量

MAX_USER_CONNECTIONS: 对服务器的同时连接量

使用以下命令为"myuser"帐号增加一个资源限制:

mysql GRANT USAGE ON database.table TO 'myuser'@'localhost' WITH resource-limits;

在 resource-limits 中你可以指定多个使用空格分隔开的资源限制。

例如,增加 MAXQUERIESPERHOUR 和 MAXCONNECTIONSPERHOUR 资源限制:

mysql GRANT USAGE ON *.* TO 'myuser'@'localhost' WITH MAX_QUERIES_PER_HOUR 30 MAX_CONNECTIONS_PER_HOUR 6;

验证用户的资源限制:

mysql SHOW GRANTS FOR 'myuser'@'localhost;

创建和设置一个MySQL用户最后的一个重要步骤:

mysql FLUSH PRIVILEGES;

如此一来更改便生效了。现在MySQL用户帐号就可以使用了。

mysql中创建账号的关键字是

1.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。

2.使用GRANT语句

最好的方法是使用GRANT语句,因为这样更精确,错误少。从MySQL 3.22.11起提供了GRANT;它的主要用途是来给帐户授权的,但也可用来建立新帐户并同时授权。注意:当mysql运行于no_auto_create_user时要提供新建用户的密码,否则不能创新用户。

下面的示例说明如何使用MySQL客户端程序来设置新用户。

首先,使用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语句创建的账户有下面的属性:

· 其中两个账户有相同的用户名monty和密码some_pass。两个账户均为超级用户账户,具有完全的权限可以做任何事情。一个账户 ('monty'@'localhost')只用于从本机连接时。另一个账户('monty'@'%')可用于从其它主机连接。请注意monty的两个账户必须能从任何主机以monty连接。没有localhost账户,当monty从本机连接时,mysql_install_db创建的localhost的匿名用户账户将占先。结果是,monty将被视为匿名用户。原因是匿名用户账户的Host列值比'monty'@'%'账户更具体,这样在user表排序顺序中排在前面。(user表排序的讨论要参考mysql手册)。

· 一个账户有用户名admin,没有密码。该账户只用于从本机连接。授予了RELOAD和PROCESS管理权限。这些权限允许admin用户执行mysqladmin reload、mysqladmin refresh和mysqladmin flush-xxx命令,以及mysqladmin processlist。未授予访问数据库的权限。你可以通过GRANT语句添加此类权限。

· 一个账户有用户名dummy,没有密码。该账户只用于从本机连接。未授予权限。通过GRANT语句中的USAGE权限,你可以创建账户而不授予任何权限。它可以将所有全局权限设为'N'。假定你将在以后将具体权限授予该账户。


网站名称:mysql怎么创建新账户 mysql怎么创建新的数据库
当前地址:http://myzitong.com/article/hpchgi.html