MySql安装方法和配置、解决中文乱码
MySql Server安装步骤
1安装MySql Server
2 安装MySqlServer管理工具
解压中文语言包,将文件复制到安装目录下覆盖
文件覆盖后,打开软件设置语言为中文(CN)
3 MySqlServer开发注意事项(C#)
- 联接字符串:"Server=localhost;Database=100;Uid=root;Pwd='root'"
- 引用MySql.Data.dll;
- using MySql.Data.MySqlClient;
- 使用MySqlConnection、MySqlParameter、MySqlDataAdapter、MySqlCommandBuilder、MySqlCommand、MySqlDataAdapter、MySqlTransaction等类
- 使用MySqlCommand. ExecuteScalar()方法返回的object如果要转为int类型,必须使用Convert来强制转换,否则可能会出错。
- 修改记录时,字段数据类型如果为Bit类型的时候,Sql语句中的字段值要使用Ture或False,不能像SqlServer中一样使用0或1。
- 命令行工具:
public class Cmd
{
/// <summary>
/// 执行Cmd命令
/// </summary>
/// <param name="workingDirectory">要启动的进程的目录</param>
/// <param name="command">要执行的命令</param>
public static void StartCmd(String workingDirectory, String command)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.WorkingDirectory = workingDirectory;
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(command);
Thread.Sleep(10000);
//p.StandardInput.WriteLine("exit");
}
public static void StartCmd()
{
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("net stop mysql");
Thread.Sleep(5000);
p.StandardInput.WriteLine("net start mysql");
Thread.Sleep(5000);
p.StandardInput.WriteLine("exit");
}
}
- 备份:
public static bool BackUp(string backupPath)
{
try
{
//构建执行的命令
StringBuilder sbcommand = new StringBuilder();
sbcommand.AppendFormat("mysqldump -f -l -q -uroot -proot Sciendox50 -r \"{0}\"", backupPath);
String command = sbcommand.ToString();
//获取mysqldump.exe所在路径
String appDirecroty = @"C:\Program Files\MySQL\MySQL Server 5.5\bin\";
Cmd.StartCmd(appDirecroty, command);
Cmd.StartCmd();//重启mysql服务
MessageBox.Show(@"数据库已成功备份到 " + backupPath + " 文件中", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return true;
}
catch (Exception)
{
MessageBox.Show("数据库备份失败!");
return false;
}
}
- 还原:
/// <summary>
/// 数据还原
/// </summary>
/// <param name="FilePath">文件路径</param>
/// <returns></returns>
public static bool RestoreDB(string FilePath)
{
try
{
StringBuilder sbcommand = new StringBuilder();
//在文件路径后面加上""避免空格出现异常
sbcommand.AppendFormat("mysql -uroot -proot Sciendox50 <\"{0}\"", FilePath);
String command = sbcommand.ToString();
//获取mysql.exe所在路径
String appDirecroty = @"C:\Program Files\MySQL\MySQL Server 5.5\bin\";
DialogResult result = MessageBox.Show("您是否真的想覆盖以前的数据库吗?那么以前的数据库数据将丢失!!!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.Yes)
{
Cmd.StartCmd(appDirecroty, command);
Cmd.StartCmd();//重启mysql服务
MessageBox.Show("数据库还原成功!");
return true;
}
return false;
}
catch (Exception)
{
MessageBox.Show("数据库还原失败!");
return false;
}
}