mysql导入sql文件错误#1044 - Access denied for user 'root'@'localhost'
在我的个人知识管理中,经常用到mysql数据库,wordpress搭建的worklog、搜索测试数据、我blog的测试环境等。我在自己的电脑上整了WAMP(Windows Apache MySQL PHP),哈哈,不是LAMP,用linux做桌面和周围的同事沟通还是不顺畅。
十一前换了台新的笔记本,原来的mysql被我dump成一个sql文件,50多M。结果在新系统里面导入的时候出现问题,在命令行执行source的时候报错:
ERROR 1044 (42000): Access denied for user ‘root’@'localhost’ to database ‘information_schema’
以前从来没遇到过,root帐号没有权限?用客户端、phpmyadmin啥的执行操作都没问题,命令行也能执行诸如创建、删除数据库和表的操作,怪!搜索了几把,没找到问题所在,问了几个周围的朋友,也没有解决这个问题。于是作罢,打算用拷贝文件的方式了。刚才又折腾了一下,结果发现原来dump的sql文件里有创建和导入information_schema和mysql两个数据库的内容,乖乖!原来我dump的时候把所有数据库所有表的整出来了。显然这两个数据库是不能被导入的,手动用editplus打开sql文件,删除那堆东西以后,导入成功。
记得在mysql4的时代这么干好像是可以的。有时间得多熟悉熟悉了,两眼一摸黑的蛮干不行了。
mysql -u root -p
输入密码
source sql文件名
**************************************************************
或者在导出数据库的sql文件时,先选中进入该数据库,然后再选择【导出】,这样就不会包含information_schema和mysql两个数据库的内容了,这样做的话,在重新导入sql文件时,要先创建该数据库,然后进入此数据库,再选择导入sql文件。