系统 mysql-5.0.11-beta-win32 提示:1045 access denied for user 'root'@'localhost' using password yes Linux下 方法一: # /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; mysql> FLUSH PRIVILEGES; mysql> quit # /etc/init.d/mysql restart # mysql -uroot -p Enter password: <输入新设的密码newpassword> mysql> 方法二: 直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码: # mysql -udebian-sys-maint -p Enter password: <输入[client]节的密码> mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; mysql> FLUSH PRIVILEGES; mysql> quit # mysql -uroot -p Enter password: <输入新设的密码newpassword> mysql> 内容来自: 脚本之家 www.jb51.net Windows下 1. 管理员登陆系统,停止mysql服务或者结束mysqld-nt进程 2. 进入命令行,来到mysql的安装目录.假设安装目录为 d:\mysql\ , CMD进入命令行 3. 运行 d:\mysql\bin\mysqld-nt --skip-grant-tables 启动mysql,关闭权限的检查 4. 运行 d:\mysql\bin\mysqladmin -u root flush-privileges password "newpassword" 重设root密码 5. 重新启动mysql服务 第4步也可以直接修改mysql表,所用到的SQL语句同linux部分,这里就不再重复了. 到WINDOWS的命令行了('DOS’ 下),切换到你的MySQL bin目录下。 比如我的是 C:\Program Files\MySQL\MySQL Server 5.1\bin 然后敲下面的粗体的命令。注意你的my.ini位置。 C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables 090515 22:06:09 [Warning] The syntax '--log' is deprecated and will be removed i n MySQL 7.0. Please use '--general_log'/'--general_log_file' instead. 090515 22:06:09 [Warning] The syntax '--log_slow_queries' is deprecated and will be removed in MySQL 7.0. Please use '--slow_query_log'/'--slow_query_log_file' instead. 090515 22:06:09 [Warning] The syntax '--log' is deprecated and will be removed i n MySQL 7.0. Please use '--general_log'/'--general_log_file' instead. 090515 22:06:09 [Warning] The syntax '--log_slow_queries' is deprecated and will be removed in MySQL 7.0. Please use '--slow_query_log'/'--slow_query_log_file' instead. 090515 22:06:09 [ERROR] The update log is no longer supported by MySQL in versio n 5.0 and above. It is replaced by the binary log. Now starting MySQL with --log -bin='' instead. 090515 22:06:09 InnoDB: Started; log sequence number 0 324221 090515 22:06:09 [Note] mysqld: ready for connections. Version: '5.1.33-community-log' socket: '' port: 3306 MySQL Community Server (GPL) 看到这个结果就说明MySQL已经起来了。 再开一个DOS窗口,同样切到mysql bin目录下, C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -uroot mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.1.33-community-log MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> 到这,你就继续按 方法一:操作就行。update完表后,退出, 然后 C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqladmin shutdown 之后正常重启MySQL服务就行了。 关于昨天下午说的MySQL服务无法启动的问题,解决之后没有进入数据库,就直接关闭了电脑。
今早打开电脑,开始-运行 输入“mysql -uroot -pmyadmin”后出现以下错误: “Access denied for user 'root'@'localhost' (using password:YES)” 直接输入“mysql” 也回报类似的错误:应该是: “Access denied for user 'ODBC'@'localhost' (using password:NO)”具体的不记得了,貌似是这个。 解决方案: 1、打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。 2、重启MySQL服务。 3、在命令行中输入“mysql -uroot -p”(不输入密码),回车即可进入数据库。 4、执行,“use mysql;”使用mysql数据库。 5、执行,“update user set password=PASSWORD("rootadmin") where user='root';”(修改root的密码) (期间我还select下user表中的记录,查询全部的时候显示了一些乱码,然后我只查询了user表中的Host、User、Password字段,貌似当时显示了3条记录,有1个没有名称。当然,为了解决问题,这些我也管不了了。) 6、打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。 7、重启MySQL服务。 8、在命令行中输入“mysql -uroot -prootadmin”,问题搞定! |
|
来自: icecity1306 > 《数据库资料》