快速业务通道

sql server优化50法

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-18
如果你有一个条目其User和Host字段是 ''bob''和''%.loc.gov'',你将写成:

mysql> SET PASSWORD FOR bob@"%.loc.gov" = PASSWORD("newpass");

直接修改授权表

另一种修改,密码的方法是直接修改授权表user。只有具备存取mysql数据库的用户可以这样做。

例如,如果你有一个条目其User和Host字段是''bob''和''%.loc.gov'',你将写成:

mysql> UPDATE mysql.user SET password=PASSWORD("newpass") where user="bob'' AND host="%.loc.gov";
mysql>FLUSH PRIVILEGES;


重新设置一个遗忘的root口令

如果你遗忘了root用户的口令,那么将会是一件非常麻烦的事。除非你有其它有特权的用户,否则很多操作都无法完成,例如,关闭数据库等等。

你应当选用--without-grant-tables选项启动mysqld服务,你可以在这时更改授权表的相关内容,也可以用mysqlaccess检查你的授权是否到位。

例如,如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。

1、关闭MySQL服务器

向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。

kill `cat /mysql-data-directory/hostname.pid`

你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。

如果在windows平台上,也可以停止进程。如果是NT还可以用net stop mysql命令关闭数据库。

2、使用''--skip-grant-tables'' 参数来启动 mysqld。

Unix平台:

 $su mysql

 $safe_mysqld --skip-grant-tables &

Windows平台:

 C:\mysql\bin>mysqld --skip-grant-tables

以上语句,假定都位于正确的目录。

3、连接到服务器,修改口令

使用''mysql -h hostname mysql''命令登录到mysqld server ,用grant命令改变口令:


mysql>GRANT ALL ON *.* TO root@localhost INDENTIFIED BY ''new password''
-> WITH GRANT OPTION;
mysql>GRANT ALL ON *.* TO root@% INDENTIFIED BY ''new password''
-> WITH GRANT OPTION;


(如果存在一个能从任意地址登录的root用户,初始化授权表后,生成该用户,为了安全,你可能已经删除该用户)。

其实也可以直接修改授权表:

mysql> use mysql;
mysql> update user set password =password(''yourpass'') where user=''root'';


你可能使用工具mysqladmin修改密码:

shell> mysqladmin -h hostname -u root password ''new password

但是它修改的密码语服务

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号