一、数据库备份
生成SQL脚本 导出数据
在控制台使用mysqldump命令可以用来生成指定数据库的脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创建数据库的语句!所以在恢复数据时,还需要自已手动创建一个数据库之后再去恢复数据。
mysqldump –u用户名 –p密码 数据库名>生成的脚本文件路径
现在可以在D盘下找到mydb1.sql文件了!
注意,mysqldump命令是在Windows控制台下执行,无需登录mysql!!!
(-p和密码之间没有空格)
二、数据库恢复
执行SQL脚本 恢复数据
前提:必须先创建数据库名
执行SQL脚本需要登录mysql,然后进入指定数据库,才可以执行SQL脚本!!!
执行SQL脚本不只是用来恢复数据库,也可以在平时编写SQL脚本,然后使用执行SQL 脚本来操作数据库!大家都知道,在黑屏下编写SQL语句时,就算发现了错误,可能也不能修改了。所以我建议大家使用脚本文件来编写SQL代码,然后执行之!
SOURCE C:\mydb1.sql
注意,在执行脚本时需要先行核查当前数据库中的表是否与脚本文件中的语句有冲突!例如在脚本文件中存在create table a的语句,而当前数据库中已经存在了a表,那么就会出错!
还可以通过下面的方式来执行脚本文件:
mysql -uroot -p123456 mydb1<D:\mydb1.sql
mysql –u用户名 –p密码 数据库<要执行脚本文件路径
这种方式无需登录mysql!
注意:在CMD下 命令不能加;
三、数据库密码修改
1.停止mysql服务
运行输入services.msc 停止mysql服务
或者 cmd --> net stop mysql
2.配置my.ini
这个my.ini是mysql的数据文件目录下的,data里面是我们所创建的各种数据库。
打开my.ini,在最后一行添加这语句:
explicit_defaults_for_timestamp = true
3.cmd下 输入
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --skip-grant-tables
启动服务器 光标不动 (不要关闭该窗口)
4.新打开cmd 输入mysql -u root直接按回车,进入sql命令行后,选择数据库,修改密码。
mysql -u root
use mysql;
update user set authentication_string=password("1234567") where user ="root";
5.7版本mysql数据库下已经没有password这个字段了,password字段改成了authentication_string,如果是5.7版本之前的,最后一条语句是
update user set password=password("1234567") where user ="root";
5.关闭两个cmd窗口 在任务管理器结束mysqld 进程(若mysqld进程不结束,mysql服务无法开启)
6.在服务管理页面 重启mysql 服务,用新密码登录,修改完成