mysql数据库无法登录,数据库无法登陆

发布时间:2022-11-17

本文目录一览:

  1. mysql 安装完毕 服务正常启动 可是数据库登陆不了 求大神帮忙解决!
  2. 数据库出现#1045 无法登录 MySQL 服务器
  3. 登录mysql数据库失败怎么办
  4. MySQL 8.0 密码正确 但是无法登录 直接提示我密码错错误

mysql 安装完毕 服务正常启动 可是数据库登陆不了 求大神帮忙解决!

  1. 你先确定mysql存放位置,比如你放在d:\mysql
  2. 制作或复制一个my.ini,修改相关目录为存在的路径
  3. 启动cmd,开始/运行/cmd/回车
  4. 增加mysql服务
    执行以下命令:
d:
cd
mysql
cd
bin
mysqld --install MySQL5 --defaults-file=D:\mysql\my.ini

数据库出现#1045 无法登录 MySQL 服务器

解决办法是重新设置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:\ C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt
    
    在服务器启动时,执行由“--init-file”选项命名的文件的内容,更改根用户密码。当服务器成功启动后,应删除C:\mysql-init.txt。
  5. 停止MySQL服务器,然后在正常模式下重启它。如果以服务方式运行服务器,应从Windows服务窗口启动它。如果以手动方式启动了服务器,能够像正常情形下一样使用命令。

附:其他方法

# /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>

登录mysql数据库失败怎么办

以前也用过mysql数据库(那时还是mysql3),可这样的问题还是头一次遇到。我想在开发过程中遇到这类问题的人一定不在少数,那么我们就从这次出现的问题出发来一起研究一下mysql数据库的账户添加问题。 先通过控制台添加一个账户:

INSERT INTO user VALUES('%','monty',PASSWORD('some_pass'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
'','','','',0,0,0,0);

然后,建立php程序进行登录:

<html>
<body>
<h1>It works!</h1>
<?php
$link = mysql_connect('localhost', 'monty', 'some_pass');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
</body>
</html>

但是,运行后的结果却是: 原来,在mysql的这个版本中(已经很久没有用mysql了,之前的版本没有经过测试),如果使用insert命令来增加一个账号的话,必须在添加后刷新一下特权表:

INSERT INTO user VALUES('%','monty',PASSWORD('some_pass'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
'','','','',0,0,0,0);
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
GRANT USAGE ON *.* TO 'dummy'@'localhost';

前两个帐户名称都是monty,而且都是拥有所有权限和密码。但是两者的区别在于,第一个帐户(monty@localhost)只能通过本地登录,而第二个账户(monty@%)可以通过任意主机登录。值得注意的是,为了能够使用monty帐户在任何地方进行登录,这两个账户同时存在则是必要的。因为,如果没有本地帐户(monty@localhost),使用monty帐户登录时,mysql_install_db将优先考虑创建一个本地的匿名帐户。那么结果将是monty账户会被当作一个匿名帐户来处理。原因则在于,匿名帐户拥有一个比nonty@%账户更加具体的host字段值,从而在user表排序的时候会相对出现的更早。 上面这个表中的admin帐号则只拥有reload和process权限且没有密码,这些权限允许该帐户执行mysqladmin reload, mysqladmin refresh, mysqladmin processlist和mysqladmin flush-xxx系列命令,但是没有权限进入任何数据库。dummy帐号没有密码也没有任何权限,它只被允许从本地(localhost)登录mysql。GRANT命令允许使用USAGE来创建一个帐号却不赋予任何权限。如果你的Mysql采用的是NO_AUTO_CREATE_USER模式,那么通过命令行模式建立一个没有密码的帐号将会失败。为了解决这个问题,你可以使用IDENTIFIED BY来指定具体的密码。

MySQL 8.0 密码正确 但是无法登录 直接提示我密码错错误

MySQL 8.0密码正确但无法登录。我直接提示我的密码错误,因为密码设置不正确。我需要重置密码。设置方法是:

  1. 首先进入phpmyadmin管理后台。
  2. 然后,点击顶部导航中的“用户”,这个mysql内置了几个默认的数据库用户。
  3. 单击用户背面的“编辑权限”。
  4. 在“更改密码”中填写新密码并执行。
  5. 然后通过编辑器打开它。
  6. 找到30行,33行和40行。修改“登录类型”,“登录密码”,“您是否需要密码”,如图所示。
  7. 接下来,需要在任务栏中重新启动我们的wamp服务器,然后再次刷新phpmyadmin页面,会出现一个对话框,提示输入登录信息。
  8. 输入设置的密码并匹配用户名以登录。它将成功。