MySQL 5.7详细下载安装配置以及C# MySQL数据库操作教程

MySQL 5.7详细下载安装配置以及C# MySQL数据库操作教程



前言

最近有个项目使用MySQL5.7,在安装MySQL的时候会遇到很多问题,博客上其实也有很多解决问题的办法,在这里我操作记录一下,方便后续使用时查看。
以下MySQL 5.7.43 详细下载安装配置教程。


一、下载步骤

访问官方网站:https://www.mysql.com/
首页滑到最下面,选择Downloads下的MySQL Community server
1
在这里插入图片描述

根据你电脑的版本选择下载对应的ZIP文件,我的电脑是64位的,因此选择这项进行下载,点击Download会进入以下界面:
在这里插入图片描述
点击【No thanks,just start my download】不登录直接下载,等待一会有下载弹窗。
在这里插入图片描述
点击【下载】就好,然后开始下载
在这里插入图片描述

下载完毕后将文件解压到你想保存到的盘和目录内。

以上就完成了下载的全部工作。

二、环境变量配置

1.右键此电脑->属性—>高级系统设置—>环境变量—>系统变量

在这里插入图片描述

点击新建,变量名为:MYSQL_HOME,添加你的mysql-5.7.43-winx64文件夹所在位置。
我的是在D:\Program Files\Mysql\mysql-5.7.43-winx64,如图:
在这里插入图片描述
在这里插入图片描述

2.编辑Path

复制**%MYSQL_HOME%\bin**到原有值的后面,如图:
在这里插入图片描述

3.配置my.ini文件

在你的mysql-5.7.43-winx64目录下新建my.ini文件.
在这里插入图片描述
my.ini文件的内容为:如果安装目录不一样,记得修改MySQL的安装路径。


[mysqld]
#端口号
port = 3306
#mysql-5.7.43-winx64的路径
basedir=D:\Program Files\Mysql\mysql-5.7.43-winx64
#mysql-5.7.43-winx64的路径+\data
datadir=D:\Program Files\Mysql\mysql-5.7.43-winx64\data 
#最大连接数
max_connections=200
#编码
character-set-server=utf8
 
default-storage-engine=INNODB
 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 
[mysql]
#编码
default-character-set=utf8 

创建完成后进入下一步。


4.安装MySQL

(1)在输入框内输入cmd,以管理员的身份运行,注意这里一定一定一定要以管理员的身份运行,否则在安装过程中会出现因为管理权限不够而导致的Install/Remove of the Service Denied!(安装/卸载服务被拒绝),这一点非常重要!
在这里插入图片描述

(2)在cmd中进入到D:\Program Files\Mysql\mysql-5.7.43-winx64\bin目录下:
在这里插入图片描述

输入安装命令:mysqld -install,若出现Service successfully installed,证明安装成功;如出现Install of the Service Denied,则说明没有以管理员权限来运行cmd:
在这里插入图片描述

然后继续输入命令:mysqld --initialize,此时不会有任何提示:
在这里插入图片描述

等待出现输入光标后再输入启动命令:net start mysql,出现以下提示证明MySQL启动成功
在这里插入图片描述

5.设置MySQL密码

(1)在这里设置密码主要是为了解决:*ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)*的问题
(2)首先停止MySQL服务,输入命令行 net stop mysql
在这里插入图片描述

(3)在D:\Program Files\Mysql\mysql-5.7.43-winx64目录下找到my.ini,在[mysqld]字段下任意一行添加skip-grant-tables,保存即可:如果安装目录不一样,记得修改MySQL的安装路径。
在这里插入图片描述

(4)重启MySQL,输入启动命令:net start mysql,出现以下提示证明MySQL启动成功:
在这里插入图片描述
在输入命令mysql -u root -p,不需要输入密码,直接回车:
在这里插入图片描述
进入MySQL成功!
(5) 输入命令行use mysql,进入数据库:
在这里插入图片描述

(6)输入命令行update user set authentication_string=password(“xxxxxx”) where user=“root”;

xxxxxx是你设置的新密码,敲击回车后若出现以下信息,证明修改成功!最后面的分号不要忘记。
在这里插入图片描述
(7) 手动停止MySQL服务,在win10搜索栏内输入服务,找到MySQL。点击右键,然后点击停止即可。
在这里插入图片描述

然后在刚刚的my.ini文件中删除skip-grant-tables 这一行,保存关闭。
在这里插入图片描述

(8) 再次启动cmd(管理员身份),输入启动命令:net start mysql,再输入mysql -u root -p,再输入你刚刚设置的密码,出现以下信息证明设置成功

在这里插入图片描述

然后输入命令行use mysql验证一下,结果报错:
在这里插入图片描述

既然没有重置密码,那就重置一下呗
键入命令行alter user user() identified by “xxxxxx”;

我的密码是123456,因此我键入alter user user() identified by “123456”; 回车!
离胜利越来越近了!
再次输入命令行use mysql验证一下,成功!
在这里插入图片描述

三、环境变量配置

1.引入库

using MySql.Data.MySqlClient;
using System.Net.NetworkInformation;

2.操作方法

  public MySqlConnection mysqlconn = null;

        public Form1()
        {
    
    
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
    
    

        }


        /// <summary>
        /// 连接Mysql数据库
        /// </summary>
        /// <param name="DatabaseName">数据库名</param>
        /// <param name="IP">IP地址</param>
        /// <param name="Username">数据库用户名</param>
        /// <param name="Password">数据库密码</param>
        /// <param name="Port">数据库端口</param>
        /// <returns></returns>
        public bool Mysqlconnect(string DatabaseName, string IP, string Username, string Password, string Port)
        {
    
    
            try
            {
    
    
                if (PingIP(IP))
                {
    
    
                    mysqlconn = new MySqlConnection("Database=" + DatabaseName + ";Data Source=" + IP + ";User Id=" + Username + ";Password=" + Password + ";pooling=false;CharSet=utf8;port=" + Port + "");
                }
                else
                {
    
    
                    return false;
                }
            }
            catch (Exception ex)
            {
    
    
                return false;
            }

            return true;
        }

        /// <summary>
        /// 往Mysql数据库中加入、删除、更改数据
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public int setMysqlDataSet(string sql)
        {
    
    
            try
            {
    
    
                mysqlconn.Open();
                MySqlCommand ad = new MySqlCommand(sql, mysqlconn);
                int T;
                T = ad.ExecuteNonQuery();
                mysqlconn.Close();
                return T;
            }
            catch (Exception ex)
            {
    
    
                mysqlconn.Close();
                return 0;
            }
        }
        /// <summary>
        /// 读取Mysql数据库(必须先调用Mysqlconnect()传参连接数据库)
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public DataSet getMysqlDataSet(string sql)
        {
    
    
            try
            {
    
    
                mysqlconn.Open();
                MySqlDataAdapter AD = new MySqlDataAdapter(sql, mysqlconn);
                DataSet DS = new DataSet();
                AD.Fill(DS);
                mysqlconn.Close();
                return DS;
            }
            catch (Exception ex)
            {
    
    
                mysqlconn.Close();
                return null;
            }
        }

        /// <summary>
        /// ping网络是否OK
        /// </summary>
        /// <param name="IP">IP地址</param>
        /// <returns></returns>
        public Boolean PingIP(String IP)
        {
    
    
            try
            {
    
    
                Ping ping = new Ping();
                PingReply pingreply;
                pingreply = ping.Send(IP, 900);
                Boolean result = pingreply.Status == IPStatus.Success;
                ping.Dispose();
                return result;
            }
            catch (Exception ex)
            {
    
    
                return false;
            }

        }

        public void Test()
        {
    
    
            //连接数据库
            Mysqlconnect("test", "127.0.0.1", "admin", "password", "3306");
            //插入数据库
            setMysqlDataSet("insert into test (test1,test2) values ('1','2')");

            //获取数据库
            getMysqlDataSet("select * from test");

            //修改数据库
            setMysqlDataSet("update test set test2 = '3' where test1='1'");

            //删除数据库
            setMysqlDataSet("delete from test where test1='1'");

        }

注意:连接数据库的时候有个PingIP()的方法,如果MySQL数据库是远程服务器的,可以在连接之前查看一下是否可以连接到远程服务器的IP,如果不需要此方法可以删除。

总结

以上就是今天要讲的内容,本文详细介绍了mysql安装及数据库操作,请各位按照介绍进行安装测试。

猜你喜欢

转载自blog.csdn.net/weixin_37864926/article/details/132230359