windows下mysql的备份
目前我试了2种方式进行备份数据库
先查询mysql安装路径:select @@basedir as basePath from dual
第一种方式:然后进入安装目录找到data文件夹,直接将里面的文件备份
如果安装目录下没有data文件夹,使用show variables like 'datadir';进行查询数据目录
第二种方式,进入安装目录的bin文件夹,然后在地址栏里面输cmd,回车进入命令行
输入命令:mysqldump -uroot -p world > world.sql 这句的意思是将world数据库备份到world.sql文件中,备份为sql脚本
完整命令为mysqldump -h主机地址ip -P(大写)端口号 -u用户名 -p密码 数据库名>路径名
例:mysqldump -h127.0.0.1 -P3306 -uroot -p123456 userdata>test.sql
(恢复命令为mysql -h主机地址ip -P(大写)端口号 -u用户名 -p密码 数据库名 < 路径名)
然后输入数据库密码,完成备份
第二种方式的C#示例代码
string mysqlPath = @"C:\Program Files\MySQL\MySQL Server 5.7\bin";
string backupName = Guid.NewGuid().ToString("N");
string pwd = "123456";
//使用命令行执行备份命令
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine($@"cd /d{mysqlPath}");
p.StandardInput.WriteLine($@"mysqldump -uroot -p{pwd} userdata >{backupName}.sql");
p.StandardInput.WriteLine("exit");
p.WaitForExit();
p.Start();
Console.WriteLine("ok");
Console.ReadKey();