标签:mysql
修改mysql的root密码导致无法连接数据库
安装环境:MS WINDOWS 2003 SP1
MYSQL版本:mysql-essential-5.1.51-win32
故障现象:本来只是想改变下MYSQL的配置(原来的端口为默认3306,不安全),使用MySql自带的MySQL Server Instance Config Wizard修改后,在最后一步,执行到启动服务时就无休止的等待,只好结束Config 任务。试图通过“服务管理”来手工启动MySQL,出现1067错误提示。
----------------------------------
1、1067
1067错误的出现,有很多原因,先说我解决的这种。也就是配置问题。
修改安装目录下的 my.ini文件,去掉所有的内容,只写2条:(就是说明mysql的安装路径)
[mysqld]
basedir=C:\mysql-5.1.51-win32
datadir=C:\mysql-5.1.51-win32\data
存盘后,顺利启动,访问正常。
但是没有解决我想要改端口的问题。使用 Config Wizard再做一次配置,然后还是重复之前的错误~~~1067。
当然,可以按刚才的办法,修改my.ini,自己加上端口定义的,
port=10306
但是还有很多其他定义,比如default-character-set、max_connections等,都手写太麻烦了。于是最毒一招:重装。
-----------------------------------
2、ROOT 密码
好吧,卸载、重新装,但需要备份以前的数据,虽然不多。可是,ROOT密码是啥子来着???
这个问题好解决,比较有效的方法是:
1.停止mysql服务(通过“服务管理”停止服务,或者在CMD命令行发命令net stop mysql);
2.进入mysql安装目录,比如d:\mysql5\bin下。
3.mysqld --skip-grant-tables ,跳过权限检查启动mysql. (注意,网上很多示例是用mysqld-nt,这个版本没有这个文件了,是mysqld),保持这个CMD窗口不关。
4.新开一个CMD命令窗口,进入mysql安装目录,比如d:\mysql5\bin下。以root身份登陆MySql(mysql -u root)
mysql> UPDATE mysql.user SET Password=PASSWORD(‘newpwd‘) WHERE User=‘root‘;
mysql> FLUSH PRIVILEGES;
mysql> quit
注意:‘newpwd’是新密码,自己设置哈。命令中mysql.user中间有个“点”
5.在任务管理器里结束掉 mysql.exe 这个进程,重新启动MYSQL即可!(也可以直接重新启动服务器)
MYSQL重新启动后,就可以用新设置的ROOT密码登陆MYSQL了。
-----------------------------------
3、完全重新安装
卸载MYSQL很快,重新装也很快,但结果却不那么理想,因为装完了,还是1067!!!!!再卸,再装,还是一样。
难道是没有卸载完全?一定是!因为在重新安装后,Config Wizard过程中,居然让我输入root用户旧口令,这一定是原来的配置没有清除。尽管我把MySql的安装目录都删除了(d:\mysql5\)。
仔细看了下,安装过程中的路径选择(不要用默认安装选项),发现默认的Mysql Server Datafiles是安装在C:\Documents and Settings\All Users\Application Data\Mysql Server 5.1\下的,这里面保存了Mysql的基本信息库。
删除该文件夹,并且在安装时,指定Mysql Server Datafiles的位置,顺利安装。
顺利配置,顺利启动。
至此,1067问题,妥善解决。
-------------------------------------
补充,其他1067的问题:
1.检查你的Mysql目录有没有给系统的System用户权限。特别是安装在非默认目录下。
2.删除掉你的 %WINDOWS%/my.ini 文件。(我没找到过这个文件,也许是其他版本)
3.安装MYSQL后更改了ROOT的密码后用,net startmysql启动时我就遇到了这样的问题.
使用以下命令后c:\mysql\bin\mysqladmin-u root -p shutdown 再net start mysql就没有这个错误提示了!
标签:mysql
原文地址:http://linuxtux.blog.51cto.com/8676124/1731785