error 1044 (42000):access denied for user ''@'l...解决
今天试着用不同方式 备份数据,发现一个问题:
用outfile备份没权限限制问题:
1 SELECT * FROM information_schema.TABLES INTO OUTFILE 'E:\\ts.txt' 2 FIELDS TERMINATED BY ',' ENCLOSED BY '"' 3 LINES TERMINATED BY '\r\n';
但用mysqldump就存在权限问题:
mysqldump -u root -p information_schema > E:\\tmp\\dump.txt
因为是对 information_schema库操作所有就存在这个权限问题 如果是对新建的库是不存在的哈!
解决办法有:
方法一:
在my.ini的[
mysqld]字段加入:
skip-grant-tables
重启mysql服务,这时的mysql不需要密码即可登录数据库
然后进入mysql
mysql>use mysql; mysql>update user set password=password('新密码') WHERE User='root'; mysql>flush privileges;
运行之后最后去掉my.ini中的skip-grant-tables,重启mysqld即可。
修改mysql密码方法二:
不使用修改my.ini重启服务的方法,通过非服务方式加skip-grant-tables运行mysql来修改mysql密码
停止mysql服务
打开命令行窗口,在bin目录下使用mysqld-nt.exe启动,即在命令行窗口执行:
mysqld-nt --skip-grant-tables
然后另外打开一个命令行窗口,登录mysql,此时无需输入mysql密码即可进入。
按以上方法修改好密码后,关闭命令行运行mysql的那个窗口,此时即关闭了mysql,如果发现mysql仍在运行的话可以结束掉对应进程来关闭。
启动mysql服务。