数据库导入失败,mysql返回1044错误的解决方法
数据库导入失败,mysql返回1044错误的解决方法今天逼不得已,迁移了网站主机,之前的主机不知道发什么神经,屏蔽了中国的IP,发邮件给客服也不回,我的网站目标用户就是中国人,屏蔽了中国IP 影响及其巨大,用了一个下午,把站点数据全部下载下来,然后上传到新的空间,最后要导入数据库,详细步骤见我前面的博文:wordpress网站转移方法导入数据库的过程直接报错:MySQL1044错误,看了下错误代码,大致的意思就是,不能以现有的用户名访问数据库,我从原来主机的phpMyAdmin上下载到的是一个没经过压缩的sql文件,我就直接用文本编辑器打开了,发现在“表的结构”注释前面还有一段内容,大致看了下,记载的就是用户名的密码,还有导出时间等信息,直接删掉,再次导入,还是报错,这次的错误是1231错误,根据错误提示,发现文件末尾还有一大段和文件头部一样的信息,果断删掉,再次导入,就成功了。
所以,1044错误的解决办法有两种:
1、删除导出的sql文件头尾记录用户名和密码相关的信息。
2、在phpMyAdmin导出sql文件的时候只选择导出table,不要勾上用户名和密码,一般这样导出的文件就不会存在1044错误。
截至文章发布前,网站已经完全转移好了,现在这篇文章就是在新换的主机上写的,感觉还不错,主机的稳定性还有待测试。
MySQL启动错误1045
MYSQL 1045:不能连接数据库,用户名或密码错误在安装mysql 数据库的时候,经常出现1045错误,见下:其具体的提示为:该错误只在Windows系统上出现,Linux下好像好没有,据说这个错误已经存在n年了,有人extremely dispointed that it still exists here in 2009!错误的原因更令人抓狂,那就是mysql server instance config wizard根本没有为你设密码,于是root密码是空!实在不明白如果没有为我设密码那中间为什么叫我设个密码。
解决办法:I clicked Skip on the dialog that states the Error 1045…Then cancelled the “MySQL Server Instance Config Wizard”Now…打开一个命令行窗口,输入:mysql -u root -p这时会提示你输入密码,直接回车(即密码为空),进入MySQL管理,输入以下命令:mysql>use mysqlmysql>select user, host, password from user;# Now you should see that u have 3 entries+—————————–+| user | host | password |+—————————–+| root | localhost | || root | 127.0.0.1 | || | localhost | |+—————————–+mysql> delete from user where host=”localhost” and user=”";mysql> update user set password=password(“xxxx”) where user=”root”;mysql> flush tables;mysql> flush privileges;mysql> quitNow the mysql table should be updated and everything fixed.Try it out…然后就可以用config wizard跑一遍了,在输入密码的步骤时,取消勾选输入密码部分,直接下一步,MySQL启动成功!如果系统以前已经安装过mysql数据库,而密码又忘记了。
连接MySQL报错误代码ERROR1045时的解决方案
连接MySQL报错误代码ERROR1045时的解决⽅案最近在做⽹站迁移的时候,遇到了⼀件很尴尬的事情,远程连接数据连不上了,⼀直报错误号码1045 Access denied for user'root'@xx.xxx.xxx.xx(using password:YES) 远程登录被拒绝尝试通过阿⾥云⾃带的远程连接登录,依然是拒绝访问,这下凉凉了,如果这个问题解决不掉,不光是⽹站迁移完成不了,之前存的数据也保存不下来了。
难道只能趁着夜⿊风⾼天⾥跑路?怎么可能~~度娘⾕哥了⼀圈,解决办法也有⽽且都差不多(很多都是⼀字不差的复制),基本步骤是1:停⽌MySQL服务器(⼀般在/etc/init.d/mysql)2:设置MySQL跳过权限验证并启动3:更新远程登录权限并刷新4:重启服务器如果是正常配置的服务器,找到mysql并且停⽌它,是⼀件⾮常容易的事情,但是,作为⼀台经过了⼏次交接,基本上没有使⽤⽂档的服务器,那就很伤脑筋了。
反正我找了很久都没有找到mysql装在了哪⾥,从哪⾥启动。
注意:以下操作为⾮常规操作,且涉及到重启服务器,改配置等危险操作,如果不是⾃⼰的服务器或者服务器⽹站特重要的,不建议尝试,以免被项⽬经理打出屎...尝试使⽤⽹上给出的命令关闭MySQL服务器,关闭失败,只能强⾏kill掉进程,然后使⽤命令 mysqld_safe --skip-grant-tables & 没有成功,报找不到 mysqld_safe没有办法,只能想办法改配置⽂件了,在/etc⽂件夹下,找到f⽂件,对其进⾏修改,在[mysqld]下添加 skip_grant_tables 让MySQL在运⾏的时候可以跳过权限,直接登录。
所以?找不到MySQL要怎么重启呢?幸亏这个服务器⽬前只挂了⼀个访问量很⼩的官⽹,利⽤服务器重启后MySQL也会⾃启的特性,我在后台直接重启了服务器。
so?我成功了,服务器重启后,MySQL也启动了,直接输⼊命令 mysql 回车,绕过权限进⼊数据库成功。
2019年MYSQL安装常见错误
MySql 安装时的1045错误MySql 安装到最后一步遇到1045错误Access denied for user 'root'@'localhost' (using password:YES)解决方案一:卸载MySQL,重新安装1, 卸载MySQL2, 删除目录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:\。
4、进入DOS命令提示:开始菜单->运行-> cmd假定你已将MySQL安装到C:\mysql。
如果你将MySQL安装到了另一位置,请对下述命令进行相应的调整。
在DOS命令提示符下,执行命令:C:\mysql\bin\>mysqld-nt --init-file=C:\在服务器启动时,执行由“--init-file”选项(作用:在启动时从指定的文件中读取SQL命令)命名的文件的内容,更改根用户密码。
mysqlERROR1045(28000)问题的解决方法
mysqlERROR1045(28000)问题的解决⽅法遇到mysql ERROR 1045 这个问题搞了很久,⾃⼰记下来。
⽅法是百度的,亲测有效。
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: YES)-----这次是这个问题windows下,以上两个错误的解决⽅法1、找到配置⽂件my.ini ,然后将其打开,可以选择⽤记事本打开2、打开后,搜索mysqld关键字找到后,在mysqld下⾯添加skip-grant-tables,保存退出。
PS:若提⽰不让保存时,可以将该⽂件剪切到桌⾯,更改保存后再复制到mySQL⽬录下3、开始按钮+R,打开运⾏对话框,输⼊“services.msc”,打开服务窗⼝4、重启MySQL服务5、然后运⾏cmd,输⼊mysql -u root -p就可以不⽤密码登录了,出现password:的时候直接回车可以进⼊。
6、进⼊mysql数据库:mysql> use mysql;Database changed7、给root⽤户设置新密码:mysql> update user set password=password("123456") where user="root";提⽰:Query OK, 1 rows affected (0.04 sec)Rows matched: 1 Changed: 1 Warnings: 08、.刷新数据库mysql> flush privileges;提⽰:Query OK, 0 rows affected (0.01 sec)9、退出mysql:mysql> exit提⽰:ByePS:123456为新密码,⽤户可根据⾃⼰需要修改成⾃⼰的密码10、改好之后,再修改⼀下my.ini这个⽂件,把我们刚才加⼊的"skip-grant-tables"这⾏删除,保存退出再重启mysql服务就可以了。
MYSQL常见错误列表和解决
MYSQL出错代码列表在用mysql创建表时,有A、B两个表需要同时创建C表的外键,A表已经创建好了,但再创建B表的外键时,总是报错:ERROR 1005 (HY000): Can't create table './ows/#sql-a8_11.frm' (errno: 150)网上的资料多说这是由于建外键的列与要关联的列类型不匹配造成的。
但我查了列类型是匹配的。
后来才知道:不同的表的外键名也是不能重复的。
否则也会建外键失败。
1006:创建数据库失败生成数据库的限制只有mysql的许可和操作系统限制。
你应当确认你的根权限确实包括生成数据库的权限(检查Mysql数据库的user图表的许可),如果你有这个权限,再试着以mySQL用户登录时在数据文件夹创建一个路径。
1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库文件失败1012:不能读取系统表中的记录1020:记录已被其他用户修改1021:硬盘剩余空间不足,请加大硬盘可用空间1022:关键字重复,更改记录失败1023:关闭时发生错误1024:读文件错误1025:更改名字时发生错误1026:写文件错误1032:记录不存在1036:数据表是只读的,不能对它进行修改1037:系统内存不足,请重启数据库或重启服务器1038:用于排序的内存不足,请增大排序缓冲区1040:已到达数据库的最大连接数,请加大数据库可用连接数你找到mysql配置文件,搜索最大连接的选项,修改数字不就行了吗1040:已到达数据库的最大连接数,请加大数据库可用连接数。
[code]在my.ini 修改max_connections=100为max_connections=1000或更大,重启mysql[/code]1041:系统内存不足1042:无效的主机名1043:无效连接1044:当前用户没有访问数据库的权限1045:不能连接数据库,用户名或密码错误方法:确保论坛data目录下的sql_config.php用户名与密码都正确.如果用户忘记了数据库的密码,可以按如下方式进行密码的修改:如果MySQL 正在运行,首先停止。
mysql数据库中1045错误的解决方法
mysql数据库中1045错误的解决⽅法
本地数据库连接服务器数据库报1045,如何解决?
这个意思是说:⽤户“root”@本地主机的访问被拒绝
解决⽅案:
1.找到MySQL安装路径下的my.ini⽂件,⽤记事本的⽅式打开;
2.打开后,找到mysqld这个位置,这个⽂件的内容中有多个mysqld,注意看箭头所指位置
3.在 [mysqld] 底下添加语句:skip-grant-tables,添加完毕后保存。
skip-grant-tables作为启动参数的作⽤:MYSQL服务器不加载权限判断,任何⽤户都能访问数据库。
也就是说,启⽤这个参数之后,数据库的安全性会降低。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
mysqlERROR1044(4...
mysqlERROR1044(4...1. 问题描述:在MySQL控制台下创建数据库出现以下信息:mysql> CREATE DATABASE python;ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'python'2. 解决⽅法:执⾏以下命令进⼊控制台:mysql --user=root -p输⼊root⽤户的密码即可进⼊mysql控制台:创建数据库:create database python;显⽰所有数据库:show databases;如下: @:~$ mysql --user=root -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 4Server version: 5.6.17 MySQL Community Server (GPL)Copyright (c) 2000, 2014,Oracleand/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> create database python;Query OK, 1 row affected (0.00 sec)mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || python || test |+--------------------+5 rows in set (0.02 sec)mysql>3. OK,以上⽅法不是最好的,但却是简单可⾏的,Enjoy it4、⽅法四:这⼏天⽤空密码登录mysql后,然后修改mysql默认密码,使⽤mysql表出现过这个问题,提⽰:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'。
mysql错误代码1045的原因及解决方案
mysql错误代码1045的原因及解决方案mysql错误代码1045你的电脑会出现吗?是什么原因导致的这个问题?本文是精心的,mysql错误代码1045的原因及解决方案希望能帮助到你!代码如下:错误代码1045Aessdeniedforuser'root'@'localhost'(usingpassword:YES) 解决办法是重新设置root用户密码,在Windows平台下操作步骤如下:1、以系统管理员身份登录到系统;2、如果MySQL服务器正在运行,停止它。
如果是作为Windows服务运行的服务器,进入服务管理器:开始菜单->控制面板->管理工具->服务如果服务器不是作为服务而运行的,可能需要使用任务管理器来强制停止它。
3、创建1个文本文件,并将下述命令置于单一行中:复制代码代码如下:SETPASSWORDFOR'root'@'localhost'=PASSWORD('MyNewPassword');用任意名称保存该文件。
在本例中,该文件为C:mysql-init.txt。
4、进入DOS命令提示:开始菜单->运行->cmd假定你已将MySQL安装到C:mysql。
如果你将MySQL安装到了另一位置,请对下述命令进行相应的调整。
在DOS命令提示符下,执行命令:复制代码代码如下:C:>C:mysqlinmysqld-nt--init-file=C:mysql-init.txt 在服务器启动时,执行由“--init-file”选项(作用:在启动时从指定的文件中读取SQL命令)命名的文件的内容,更改根用户密码。
当服务器成功启动后,应删除C:mysql-init.txt。
5、停止MySQL服务器,然后在正常模式下重启它。
如果以服务方式运行服务器,应从Windows服务窗口启动它。
如果以手动方式启动了服务器,能够像正常情形下一样使用命令。
mysql错误代码1045的解决方法
mysql错误代码1045的解决方法mysql错误代码1045的解决方法导语:对win7本地环境的mysql进行升级后出现了错误代码显示1045,这是怎么回事呢?下面就由小编为大家带来mysql错误代码1045的.解决方法,大家一起去看看吧!mysql错误代码1045的解决方法方法一:修改root密码在Windows平台下操作步骤如下:1、结束Mysql服务。
1)已作为windows的系统服务,进入服务管理器:开始菜单->控制面板->管理工具->服务,直接找到mysql服务结束服务。
2)直接运行(直接运行mysqld.exe),可以任务管理器结束该进程(进程名mysqld.exe)。
命令可以使用taskkill来结束,如taskkill /F /IM mysqld.exe2、以不检查权限的方式启动mysql。
如我的安装位置:D:Program FilesMySQLMySQL Server 5.7inC:UsersMy-PC>D:D:>cd "D:Program FilesMySQLMySQL Server 5.7in"D:Program FilesMySQLMySQL Server 5.7in>mysqld.exe --skip-grant-tables3、新建一个命令行窗口同样进入到D:Program FilesMySQLMySQL Server 5.7in目录,启动mysql并且修改root密码。
C:UsersMy-PC>D:D:>cd "D:Program FilesMySQLMySQL Server 5.7in"D:Program FilesMySQLMySQL Server 5.7in>mysqlD:Program FilesMySQLMySQL Server 5.7in>use mysql;D:Program FilesMySQLMySQL Server 5.7in>user set password=PASSWORD('newpassword') where user='root';D:Program FilesMySQLMySQL Server 5.7in>flush privileges;D:Program FilesMySQLMySQL Server 5.7in>quit4、重启mysql,用你上面设置新密码登陆。
mysql将某数据库的全部权限赋给某用户,提示1044错误Accessdenied
mysql将某数据库的全部权限赋给某⽤户,提⽰1044错误Accessdeniedmysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'zabbix'查看root⽤户有没有授权权限mysql> select host,user,grant_priv,Super_priv from er;+-----------+----------+------------+------------+| host | user | grant_priv | Super_priv |+-----------+----------+------------+------------+| 127.0.0.1 | root | Y | Y || localhost | root | N | Y || 10.0.3.% | repluser | N | N |+-----------+----------+------------+------------+3 rows in set (0.00 sec)可以看到localhost的grant_priv的值为N,也就是说root⽤户不能授权给其他⽤户,所以我们需要把这个值改为Ymysql> update er set grant_priv='N' where host='localhost';Query OK, 0 rows affected (0.00 sec)Rows matched: 1 Changed: 0 Warnings: 0mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)改完之后最好重启⼀下服务器(我没重启,所以还是报那个错,重启后就正常了)mysql> select user,host,Grant_priv,super_priv from er;+----------+-----------+------------+------------+| user | host | Grant_priv | super_priv |+----------+-----------+------------+------------+| root | 127.0.0.1 | Y | Y || root | localhost | Y | Y || repluser | 10.0.3.% | N | N |+----------+-----------+------------+------------+3 rows in set (0.00 sec)mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';Query OK, 0 rows affected (0.00 sec)mysql>。
