c#中以管理员身份运行mysql服务

private void Form0_Load(object sender, EventArgs e)
        {
            System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();
            System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity);
            if(!principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator))
            {
                System.Diagnostics.ProcessStartInfo startinfo = new System.Diagnostics.ProcessStartInfo();
                startinfo.FileName = Application.ExecutablePath;
                startinfo.Arguments = String.Join("",sender);
                startinfo.Verb = "runas";
                System.Diagnostics.Process.Start(startinfo);
            }
            System.Security.Principal.WindowsIdentity iden = System.Security.Principal.WindowsIdentity.GetCurrent();
            System.Security.Principal.WindowsPrincipal prin = new System.Security.Principal.WindowsPrincipal(iden);
            if(!prin.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator))
            {
                MessageBox.Show("The identity is not in Administrator!");
                Application.Exit();
            }
            else
            {
                System.ServiceProcess.ServiceController sc = new System.ServiceProcess.ServiceController("mysql");
                sc.Start();
                try
                {
                    Form1 fr = new Form1();
                    fr.Show();
                }
                catch(Exception)
                {
                    MessageBox.Show("Mysql is not connected.");
                    Application.Exit();
                }
            }

我运行为什么还是messabox输出The identity is not in Administrator!但mysql却能打开

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

mysql数据库不认识管理员身份,只能用MYSQL内部的用户,超级用户是root用户。