使用C#修改MySQL数据库用户的root密码

前言

  利用C#调用CMD窗口实现修改数据库密码

  实现思路:

      先通过odbc连接数据库,获取到Mysql的根目录。根据根目录的路径调用CMD,连接MySQL,实现修改MySQL数据库密码。

 1 private void modifyPath_Click(object sender, EventArgs e)
 2 {
 3     bool isD = true;
 4     string MysqlPath = string.Empty;
 5     try
 6     {
 7         //获取MySQL安装路径
 8         DataTable db = ExecuteQuery("select @@basedir as basePath from dual","123");
 9         string sqlPath = string.Empty;
10         sqlPath = db.Rows[0]["basePath"].ToString();
11         //只判断目录在C/D盘的可能
12         if (sqlPath.Contains("D:"))
13         {
14             path = sqlPath.Replace("D:", "");
15         }
16         else
17         {
18             path = sqlPath.Replace("C:", "");
19             isD = false;
20         }
21     }
22     catch
23     {
24         Application.Exit();
25     }
26
27     Process process = new Process();//创建进程对象
28     try
29     {
30         ProcessStartInfo startInfo = new ProcessStartInfo();
31         startInfo.FileName = "cmd.exe";//设定需要执行的命令
32         //startInfo.Arguments = "/C " + 2;//“/C”表示执行完命令后马上退出
33         startInfo.UseShellExecute = false;//不使用系统外壳程序启动
34         startInfo.RedirectStandardInput = true;//不重定向输入
35         startInfo.RedirectStandardOutput = true; //重定向输出
36         //startInfo.RedirectStandardError = true;   //重定向标准错误输出
37         startInfo.CreateNoWindow = true;//不创建窗口
38         process.StartInfo = startInfo;
39         if (process.Start())//开始进程
40         {
41             string newPsd = "123456";
42             newPsd = "mysqladmin -u root -p123 password " + newPsd;
43             if (isD)
44             {
45                 process.StandardInput.WriteLine("d:");
46             }
47             else
48             {
49                 process.StandardInput.WriteLine("cd\\");
50             }
51             process.StandardInput.WriteLine("cd" + path +"bin");
52             process.StandardInput.WriteLine(newPsd);
53         }
54     }
55     catch (Exception ex)
56     {
57         ex.ToString();
58     }
59     finally
60     {
61         if (process != null)
62             process.Close();
63     }
64 }
//备注: 密码可以采用密文的方式,此处为了方便
连接数据库语句ExecuteQuery的方法
 1 public static DataTable ExecuteQuery(string commandText, string psd)
 2 {
 3     DataSet dataSet = new DataSet();
 4     string connectionString = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;OPTION=3;UID=root;PASSWORD=" + psd + ";Stmt=SET NAMES gb2312;";
 5     IDbConnection dbConnection = new OdbcConnection(connectionString);
 6     DataTable result;
 7     try
 8     {
 9         if (dbConnection.State == ConnectionState.Closed)
10         {
11             dbConnection.Open();
12         }
13         IDbCommand dbCommand = dbConnection.CreateCommand();
14         dbCommand.CommandText = commandText;
15         ((IDataAdapter)new OdbcDataAdapter
16         {
17             SelectCommand = dbCommand
18         }).Fill(dataSet);
19         result = dataSet.Tables[0];
20     }
21     catch (Exception ex)
22     {
23         MessageBox.Show("系统不兼容,配置失败");
24         Application.Exit();
25         result = null;
26     }
27     finally
28     {
29         try
30         {
31             dbConnection.Close();
32         }
33         catch
34         {
35         }
36     }
37     return result;
38 }

原文地址:https://www.cnblogs.com/MacrossFT/p/9532285.html

时间: 2024-11-02 15:54:11

使用C#修改MySQL数据库用户的root密码的相关文章

Mysql数据库中设置root密码的命令及方法

我们都知道通常PHP连接 Mysql都是通过root用户名和密码连接,默认情况下在Mysql安装时root初始密码为空,在安装使用PHP开源系统时,都需要填写连接Mysql数据库的用户名和密码,此时当你忘记了Mysql的root密码或没有设置Mysql的root密码时,就必须要修改或设置Mysql的root密码,这个问题对于PHP入门学习者来说也是个头大的问题,其实修改Mysql的root密码有很多方法,可以利用Mysql工具,也可以使用Mysql更改root 密码的命令来实现. 准备工作 在使

Linux下修改MySQL的用户(root)的密码

1 拥有旧MySQL的root密码 方法一 在mysql系统外,使用mysqladmin # mysqladmin -u root -p password "test123" Enter password: [输入原来的密码] 方法二 通过登录mysql系统, #?mysql -uroot -p Enter password: [输入原来的密码] mysql>use mysql; # set和update 选择一个即可: mysql>?set password=passwo

Linux下修改Mysql的用户(root)的密码

一.拥有原来的myql的root的密码:方法一: 在mysql系统外,使用mysqladmin # mysqladmin -u root -p password "test123" Enter password: [输入原来的密码] 方法二: 通过登录mysql系统, mysql> use mysql; mysql> update user set password=password("oracle") where user='root'; mysql&

远程访问服务器上的MySQL数据库,发现root远程连接不上

远程访问服务器上的MySQL数据库,发现root远程连接不上,提示错误:"1045-Access denied for user [email protected]" 解决办法如下,执行命令: mysql> use mysql; mysql> selecthost,user from user; 查看结果是不是root用户仅允许本地(localhost)登录,下面这个截图就是这种情况. 是的话,就要修改它的host为%,表示任意IP地址都可以登录. GRANT ALL PR

MySQL常用命令、正常登录数据库、重置root密码

更改mysql数据库的root密码 修改root密码命令为 /usr/local/mysql/bin/mysql -uroot 定义环境变量 临时定义环境变量 export PATH=$PATH:/usr/local/mysql/bin/ //临时定义环境变量 echo $PATH //显示环境变量 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin:/usr/local/mysql/bin/ 永久定义环境变量 vi

MySQL 数据库用户和权限管理

MySQL 数据库用户和权限管理 技能目标 掌握MySQL 用户管理 添加管理用户 修改密码及忘记密码修改 用户授权 数据库是信息系统中非常重要的环节,合理高效的对它进行管理是很重要的工作.通常是由拥有最高权限的管理员创建不同的管理账户,然后分配不同的操作权限,把这些账户交给相应的管理人员使用 用户管理 1: 新建用户 新建用户的命令格式如下 CREATE USER 'username'@'host' [IDENTIFIED BY [PASSWORD]'password'] #大写是固定格式大括

Mysql数据库用户管理

数据库是信息系统中非常重要的环节,合理高效的对它进行管理是很重要的工作.通常是由总管理员创建不同的管理账号,然后分配不同的操作权限,把这些账户交给相应的管理人员使用. Mysql用户管理 新建用户 # mysql -u root -p //登录myqsl > use mysql; //进入数据库mysql (创建后的用户是保存在mysql库的user表里的) 命令格式 create user 'username'@'localhost' identified by 'password' 使用密文

mysql数据库设置密码及忘记密码时的修改方法

环境介绍:我用的测试环境是Red Hat linux6 版本安装Mysql5.7的server.之前有讲过mysql server安装过程并能用navicat工具连接上mysql server.下面要说的是如何给mysql设置账户密码登录.在刚安装服务时,我在/etc/my.cnf 配置文件中添加了一条 skip-grant-tables 让它可以不进行密码验证就能登录到mysql server上.下面介绍的内容是mysql数据库设置密码及忘记密码时的修改方法. 注:MySQL5.7在初始安装后

修改MySQL数据库的密码

通过MySQL命令行,可以修改MySQL数据库的密码,下面就为您详细介绍该MySQL命令行,如果您感兴趣的话,不妨一看. 格式:mysqladmin -u用户名 -p旧密码 password 新密码 1.给root加个密码ab12.首先在DOS下进入目录mysql\bin,然后键入以下命令mysqladmin -u root -password ab12注:因为开始时root没有密码,所以-p旧密码一项就可以省略了. 2.再将root的密码改为djg345.mysqladmin -u root