MySQL账户相关

[ 来源: | 作者: | 时间:2007-07-20 | 收藏 | 推荐 ] 【

 1.mysql用户创建:
shell> mysql --user=root mysql

mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;

免费资源www.it55.com

mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

IT资讯之家 www.it55.com

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

免费资源www.it55.com

mysql> GRANT USAGE ON *.* TO dummy@localhost; 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

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

vd;k;l www.it55.com rdfg

monty

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

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

admin

免费资源www.it55.com

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

vd;k;l www.it55.com rdfg

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

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

shell> mysql --user=root mysql

www.it55.com

mysql> INSERT INTO user (Host,User,Password) VALUES('localhost','custom',PASSWORD('stupid')); www.it55.com在线教程


mysql> INSERT INTO user (Host,User,Password) VALUES('server.domain','custom',PASSWORD('stupid'));

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn


mysql> INSERT INTO user (Host,User,Password) VALUES('whitehouse.gov','custom',PASSWORD('stupid')); www.it55.com在线教程


mysql> INSERT INTO db     (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,  Create_priv,Drop_priv)

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

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

it55.com

mysql> INSERT INTO db

www.it55.com在线教程

    (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv) IT资讯之家 www.it55.com

    VALUES ('whitehouse.gov','expenses','custom','Y','Y','Y','Y','Y','Y'); IT资讯之家 www.it55.com

mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, Create_priv,Drop_priv) 免费资源www.it55.com

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

免费资源www.it55.com

mysql> FLUSH PRIVILEGES; http://www.it55.com/

3.改动密码时有时候会遇到忘记先前的密码,这时可以采用以下方式:

it55.com

修改你的my.ini 配置文件,

it55.com

在里面的 [mysqld]节中某处加入下面的一行 http://www.it55.com/

skip-grant-tables sflj www.it55.com kg^&fgd

然后保存,重启 mysqld 服务,这样你可以使用任何用户名以超级管理员的身体登录 MySQL 服务了。 vd;k;l www.it55.com rdfg

然后转到mysql数据库中修改user表:

免费资源www.it55.com

update user set password=PASSword('1234') where user='root';

www.it55.com在线教程

一定记住要用password函数,否则将来将要输入的密码是‘1234’的密文。 it55.com

最后删除上面所添中的内容,重启服务。 www.it55.com在线教程

另外,如果可以从本机或其它机器上找到可以正常使用的MySql数据库,那么也可拷贝其mysql库中的文件名为user的相关文件,覆盖忘记密码的数据库中的同名文件,这样也能以被拷贝者的账户密码登录。

it55.com

4.如何设置MySql账户使其可以从远程访问服务器

www.it55.com


在5.0版本中,其实有一个图形界面的配置向导工具,在设置root账户密码时,可以选择是否允许其从远程访问。默认情况下是不允许的。 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

在命令行下,可以有两种大同小异的方法来作此设置: it55.com

(1)mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'something' WITH GRANT OPTION; 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

it55.com

第一句增加了一个root用户授权通过本地机(localhost)访问,密码“something”。

www.it55.com

第二句则是使用通配符,授与root用户从任何其它主机发起的访问。

免费资源www.it55.com

(2)亦可直接使用update语句修改user表:使用root用户或其他用户登录mysql,转到mysql数据库 www.it55.com

update user set host='localhost' where user='root';

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

flush privileges;//只允许root在本机登录 www.it55.com在线教程

update user set host='%' where user='root'; it55.com

flush privileges;//允许root远程访问

http://www.it55.com/

注意,以上一定要加flush语句。

it55.com

另外,如果要建新用户,则用grant语句比较方便,记住语句grant总是创建新用户。

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

5.关于MySql的3306端口 www.it55.com

一次在服务器上新装5.0.18时,提示3306端口已被占用,强制使用该端口,则发现所连接上的数据库是4.1.8版本,始终无法访问到新创建的服务器。后来发现机器上原来装有一个mysql服务器,4.1.8版本。

www.it55.com在线教程

此时,应重新配置新版本的数据库, 将端口设为其他的,如3307,那么在访问时,可以通过加上选项:--port=3307来访问,在.net程序中也须将连接字符串添上port=3307,即可。

免费资源www.it55.com

(以上部分内容来源于网络)
IT资讯之家 www.it55.com

(编辑:IT资讯之家 www.it55.com

返回顶部
 

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]