MySql 安装到最后一步遇到1045错误Access denied for user 'root'@'localhost' (using password:YES)
解决方案一:卸载MySQL,重新安装
1, 卸载MySQL
2, 删除目录 C:\\Documents and Settings\\All Users\\Application Data\\MySQL,还要删除MySQL安装目录
3, 重新安装MySQL 就好了
如何你C:\\Documents and Settings\\All Users下没有Application Data文件夹,选择:工具——文件夹选项——查看——选择显示所有文件和文件夹
这样的就行,不过,上面的设置都是默认安装时,数据库文件所在的问题,如果你是自定义安装的话,要根据自己的实际情况来删除上面的提到文件。
解决方案二:重新设置root用户密码
在Windows平台下操作步骤如下:
1、以系统管理员身份登录到系统;
2、如果MySQL服务器正在运行,停止它。
如果是作为Windows服务运行的服务器,进入服务管理器:开始菜单->控制面板->管理工具->服务
如果服务器不是作为服务而运行的,可能需要使用任务管理器来强制停止它。
3、创建1个文本文件,并将下述命令置于单一行中:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
用任意名称保存该文件。在本例中,该文件为C:\\mysql-init.txt。
4、进入DOS命令提示:开始菜单->运行-> cmd
假定你已将MySQL安装到C:\\mysql。如果你将MySQL安装到了另一位置,请对下述命令进行相应的调整。
在DOS命令提示符下,执行命令:
C:\\mysql\\bin\\>mysqld-nt --init-file=C:\\mysql-init.txt
在服务器启动时,执行由“--init-file”选项(作用:在启动时从指定的文件中读取SQL命令)命名的文件的内容,更改根用户密码。当服务器成功启动后,应删除C:\\mysql-init.txt。
5、如果起动MySQL服务器出错,把进程mysqld-nt.exe关闭。然后重启它,OK。
6、或者停止MySQL服务器,然后在正常模式下重启它。如果以服务方式运行服务器,应从Windows服务窗口启动它。如果以手动方式启动了服务器,能够像正常情形下一样使用命令。
应能使用新密码进行连接。
解决办法三、用旧密码登录再重新修改root密码
打开“MySQL Command Line Client”输入你的密码(安装时设的那个,如果密码不对可以试下空密码登录,有可能安装时密码设置无效)。登录成功后输入命令:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mysql');'mysql'是新设置的密码。修改密码成功后再配置Mysql就OK了。
附:Mysql关闭出错蜂鸣的办法,打开MySql安装目录下的 my.ini 文件,在[mysql]行下添加这个语句'no-beep', 保存,重启Mysql服务就OK了。
错误编号:1251
问题分析:
如果你升级 MySQL 到 4.1 以上版本后遇到以上问题,请先确定你的 MySQL Client 是 4.1 或者更高版本(Windows 下有这个问题就可以直接跳到下面看解决方法了,因为 MySQL 在 Windows 系统里是 client 和 server 一起装上的)。
解决方法:
1、 Windows 平台
主要是改变连接 MySQL 帐户的加密方式,MySQL 4.1/5.0 是通过 PASSWORD 这种方式加密的。可以通过以下两种方法得到解决:
1) MySQL->SET PASSWORD FOR 'some_user'@'some_host'=OLD_PASSWORD(new_password);
MySQL->FLUSH PRIVILEGES;
2)MySQL->UPDATE MySQL.user SET Password=OLD_PASSWORD('new_password') WHERE Host='some_host' AND User='some_user';
MySQL->FLUSH PRIVILEGES;
2、 Linux/Unix 平台
Linux 平台下首先确定是否安装过 MySQL 的客户端,这个用 rpm 安装很简单,Linux 代码为:
rpm -ivh MySQL-client-4.1.15-0.i386.rpm
然后在编译 php 的时候要加上:
--with-MySQL=/your/path/to/MySQL
一般情况下都可以解决。如果还出现这种错误,可以按照下面的方法来做:
1)MySQL->SET PASSWORD FOR 'some_user'@'some_host'=OLD_PASSWORD('new_password');
MySQL->FLUSH PRIVILEGES;
2)MySQL->UPDATE MySQL.user SET Password=OLD_PASSWORD('new_password') WHERE Host='some_host' AND User='some_user';
MySQL->FLUSH PRIVILEGES;
关于Mysql数据库导入出现Can’t create table errno: 121错误问题
朋友用mysqldump导出的数据,导入数据库时出现如下问题:
E:\\mysql5.0\\bin>mysql -uroot -proot primarymmo
数据导入到3000多行的时候出现Can’t create table errno: 121错误
解决:
由于朋友使用的是mysqladmin create DB创建的数据库,我建议他直接用mysql -u root -p登录数据库,先用drop database将数据库删除,然后create database创建新的数据库,再导入数据。结果数据导入成功。
说明:
* 121错误是指你在表空间中巳经有表的定义,但定义文件不存在,发生这种现象的原因很可能是你直接在数据库目录下删除了数据库而不是通过drop database dtb_name或 drop table tbl_name来删除数据库或表。下载本文