企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
**备份**:mysqldump -h服务器地址 [-p 端口号] -u登录名 -p [-d] dbname [tablename] > 文件名 (文件名要是sql文件,还有不要’’,不要;) -d代表仅导出结构(无数据) **恢复**:mysql –h服务器地址 [-p 端口号] -u登录名 -p dbname < 文件名 注意这2个命令,都是在没有登录mysql的时候使用,其中mysqldump命令还要求为管理员身份,恢复是指恢复原来数据库中的所有表数据信息及其他信息,而数据库名可以是原来的名字或新的名字. mysql 登录后: source 备份数据文件的完整路径 # 注意 解决MySQL5.7出现"Using a password on the command line interface..." 导出MySQL数据库的时候采用mysqldump命令,但是意外发生了出现"Warning: Using a password on the command line interface can be insecure."的错误提示,当然数据库肯定也没有能备份下来。这个问题应该是在MySQL5.6+版本的时候就有出现,可能是为了确保数据库的安全性采用的保护机制。 官方网址:http://dev.mysql.com/doc/refman/5.1/en/password-security-user.html MySQL users shoulduse the following guidelines to keep passwords secure. When you run a client program to connect to the MySQL server, it is inadvisableto specify your password in a way that exposes it to discovery by other users.The methods you can use to specify your password when you run client programsare listed here, along with an assessment of the risks of each method. Inshort, the safest methods are to have the client program prompt for thepassword or to specify the password in a properly protected option file. 翻译过来大意是在命令行下如果要使用密码可以在执行命令后的提示输入里输入密码,或者在指定的安全文件内指定密码;那安全文件时哪个呢?文档对此给出了答案: Store your passwordin an option file. For example, on Unix, you can list your password in the[client] section of the .my.cnf file in your home directory: 可以在my.cnf内指定,于是打开我的my.cnf,在[mysqldump]下增加: 文中说的在[client]下面加也可以,但那样就所有块的操作都能共享了,所以生产环境上为了安全还是尽量分开;保存退出再dump就ok了; ## 第一种方法、修改数据库配置文件 1、我们需要修改数据库配置文件,这个要看我们数据库的配置的,有些是在/etc/my.cnf,有些是/etc/my.conf ![](https://box.kancloud.cn/3e6e63d81fdb95e77fa60a555c9f67bb_666x654.jpg) 我们需要在[client]部分添加脚本: host=localhost user=数据库用户 password='数据库密码' #不用引号也可以 这里参数要修改成我们自己的。 2、采用命令导出和导入数据库 其实在这个时候,虽然依旧有错误提示,但是数据库还是可以导出的。但我们可以用下面的命令导出和导入,就没有错误提示。 #导出数据库 mysqldump --defaults-extra-file=/etc/my.cnf database > database.sql #导入数据库 mysql --defaults-extra-file=/etc/my.cnf database < database.sql 这里我们可以看到上面的命令和以前常用的快速导入和导入命令有所不同了,需要加载我们配置的MYSQL配置文件,这个红色部分要根据我们实际的路径修改。用这样的命令导出备份和导入是没有错误提示的。 ## 第二种方法、利用mysql_config_editor 1、设置加密模式 mysql_config_editor set --login-path=local --host=localhost --user=db_user --password 红色部分是需要修改成我们自己数据库用户名的,回车之后会提示我们输入数据库密码,我们照样输入。 2、执行备份 mysqldump -u db_user -pInsecurePassword my_database | gzip > backup.tar.gz 根据我们数据信息修改用户和用户名和数据库密码,执行备份,这里测试还是有错误提示,但数据库是可以备份的。