mysqldump -u root -p 销售数据库 >1.sql
命令行备份数据库报错: Unknown database '???????菘' when selecting the database
看了很多家,总结就是:命令语句不能有分号,还有就是空格的问题 ,-u root -p这个固定格式,数据库名与>之间必须有空格;-p与数据库名之间不能有空格
这一步完成后出现新的问题:Warning: Using a password on the command line interface can be insecure.
查询资料得知,考虑到mysql的安全性而更改对保护机制,在mysqldump备份数据库对时候不能直接在命令行上书写数据库的密码
只需要修改配置文件(配置文件后缀有的不一样,看文件类型为配置设置,一般在安装一级目录下)记事本打开添加以下代码
[client]
host = localhost
user = root
password = 'root'
host
user
password
三个参数,必须填写在[client]
模块下,如果配置文件中没有该模块,需要手动填写一个
然后,用新的数据库命令进行备份,my-default.ini是配置文件名称, 销售数据库是数据库名 >1.sql是备份的数据库文件名
mysqldump --defaults-extra-file=/my-default.ini 销售数据库 >1.sql
这一步报错了 Access denied for user 'root'@'localhost' (using password: YES) when trying to connect
Access denied for user 'root'@'localhost' (using password:YES)解决方法 - 醉酒染青衣 - 博客园
update user set password=PASSWORD(“rootadmin”) where user=‘root’;改密码语句,这个不行就用下面那个
update mysql.user set authentication_string=PASSWORD('password') where Use
r='root';
再导入恢复数据库
mysql --defaults-extra-file=/my-default.ini 销售数据库 <1.sql