MySQL 免安装版的下载与配置教程

MySQL 免安装版的下载与配置教程

此博客存在上一个版本,如果读者对笔者以前版本的博客依然感兴趣,可以访问此链接:https://blog.csdn.net/wangpaiblog/article/details/111938395


【说明】

  • 本教程讲述的是 Windows 下 MySQL 免安装版的下载与配置。这往往是喜欢从 CMD 中执行 MySQL 代码,或者是希望需要下载的文件尽可能小的使用者的偏爱。如果读者和他们与众不同,更喜欢站在巨人的肩膀上,可以选择集成的 IDE 来避免进行本教程中讲述的烦琐操作。关于这方面的内容,可见笔者的另一篇博客:

    MySQL Community 安装教程:
    https://blog.csdn.net/wangpaiblog/article/details/112000033

  • 对于 Linux 下 MySQL 的安装,可见笔者的另一篇博客:

    Linux 下 MySQL 安装教程:
    https://blog.csdn.net/wangpaiblog/article/details/120259448


笔者的环境:

  • MySQL 8.0.27

  • Windows 10 教育版

MySQL 的下载安装

  1. 打开 MySQL 官网,找到 Community 版的下载。选择 Community 是因为该版本免费而且是通常使用的版本。具体的流程如下面的图片所示。

    MySQL 的官网是:https://www.mysql.com/

    MySQL 下载处的最终网址:https://dev.mysql.com/downloads/mysql/

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  2. 将下载好的 mysql-8.0.27-winx64.zip 解压缩,得到 MySQL 安装目录。安装目录应该是一种含文件夹 bin 的目录。在笔者的 Windows,各路径如下:

    • MySQL 安装目录:D:mysql-8.0.27-winx64
    • MySQL 命令目录:D:mysql-8.0.27-winx64in
    • MySQL 数据库数据存放目录:D:mysql-8.0.27-winx64data
    • MySQL 端口号:3306
  3. 在 MySQL 的目录下创建一个 MySQL 配置文件 my.ini。此配置文件是用来规定 MySQL 服务进程的参数信息。

    [mysql]
    # 设置 MySQL 客户端默认字符集
    default-character-set=utf8 
    
    [mysqld]
    #设置 MySQL 端口号
    port = 3306 
    #skip-grant-tables
    # 设置 MySQL 的安装目录
    basedir=D:/mysql-8.0.27-winx64/
    # 设置 MySQL 数据库的数据的存放目录
    datadir=D:/mysql-8.0.27-winx64/data
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    
    [client]
    #default_character_set=utf8
    

    【踩坑提醒】

    此处 basedirdatadir 的路径中不要使用中文,而且应该使用斜杠 / 来代替反斜杠 。原因是反斜杠 可能引发转义的问题。比方说,如果路径中含 est,那么 MySQL 会首先将 解释成制表符。因此,也可以在原来的每个反斜杠 后面再加一个反斜杠 ,这样也能解决转义的问题。

    如果引发了转义的问题,将出现如下报错:

    mysqld: Can't create/write to file 'XXX' (OS errno 2 - No such file or directory)
    

  4. 一般来说,只需要修改上面配置文件 my.ini 中的端口 port、MySQL 安装目录 basedir、MySQL 数据存放路径 datadir

  5. 管理员身份运行 CMD。如果不以管理员身份运行,将会有报错 Install/Remove of the Service Denied!

  6. 以管理员身份运行 CMD 的方法有很多,这里只举一例。

    1. 使用如下命令找到 CMD 的路径,然后右键单击,选择 以管理员身份运行。通常,CMD 的路径位于 C:WindowsSystem32cmd.exe

      where cmd

      D:>where cmd
      C:WindowsSystem32cmd.exe
      
      D:>
      
    2. 现在,如果成功启动了 CMD 窗口,窗口上应该有 管理员 字样,窗口显示的当前路径为 C:Windowssystem32

    3. 使用如下命令进入 MySQL 所在的磁盘。

      d:

      C:Windowssystem32>d:
      
      D:>
      
    4. 使用如下命令进入 MySQL 安装路径。

      cd mysql-8.0.27-winx64in

      D:>cd mysql-8.0.27-winx64in
      
      D:mysql-8.0.27-winx64in>
      

      【提示】

      如果在电脑上只安装一个 MySQL,则可以选择设置环境变量 Path 来避免这些麻烦。同很多应用一样,设置环境变量并不是必要的,只是能避免每次都要先进入 bin 目录后才能输入命令。

      设置 Windows 环境变量的方法,可见笔者的另一篇博客:https://blog.csdn.net/wangpaiblog/article/details/113532591

      这里,需要在环境变量 Path 中设置的变量值为 D:mysql-8.0.27-winx64in


  7. 现在,应该就在 CMD 中以管理员身份进入到了 MySQL 的命令目录。输入命令 mysqld install xxx 在操作系统中注册 MySQL 服务,其中,xxx 可以任意取名。

    mysqld install mysql01

       D:mysql-8.0.27-winx64in>mysqld install mysql01
       Service successfully installed.
       
       D:mysql-8.0.27-winx64in>
    
  8. 此时,应该可以在 Windows 中看到刚刚注册的 MySQL 服务。

    在这里插入图片描述

    在这里插入图片描述

  9. 上面的配置文件编辑完成之后。使用如下命令初始化 MySQL 目录。

    mysqld --initialize

    D:mysql-8.0.27-winx64in>mysqld --initialize
    
    D:mysql-8.0.27-winx64in>
    
  10. 使用命令 net start xxx 启动 MySQL 服务。其中,xxx 是前面起的 MySQL 服务名。

net start mysql01

  

    D:mysql-8.0.27-winx64in>net start mysql01
    mysql01 服务正在启动 .
    mysql01 服务已经启动成功。
    
    
    D:mysql-8.0.27-winx64in>
    

* * *

【踩坑提醒】

如果此处出现 `服务无法启动` 的情况,请检查:

*   前面配置文件中的 MySQL 安装目录设置的是否正确
    
*   前面配置文件中的 MySQL 数据库数据存放目录设置的是否正确
    
*   前面配置文件中设置的端口号是否已被占用
    

* * *
  1. 使用命令 mysql -u root -p -Pxxx 进入 MySQL 数据库。其中,xxx 是前面在配置文件中设置的端口号。
mysql -u root -p -P3306
  1. 此处将会提示输入密码。这个密码是由前面执行命令 mysqld --initialize 时生成的,它在前面设置的 数据库数据存放目录 中的文件 计算机名.err 中。具体方法是用记事本打开该文件,找到带 password 的一行 A temporary password is generated for root@localhost:。此文字后面的就是生成的随机密码(此密码不带空格)。输入密码后即可进入数据库。

    D:mysql-8.0.27-winx64in>mysql -u root -p -P3306
    Enter password: ******
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 8
    Server version: 8.0.27 MySQL Community Server - GPL

    Copyright © 2000, 2021, Oracle and/or its affiliates.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

    mysql>

* * *

【踩坑提醒】

如果上面的命令省略参数 `-Pxxx`,则相当于提供的是 MySQL 默认端口号 `3306`。如果这与前面的配置文件中设置的不一致,这将引发如下报错:

    ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)
    

* * *
  1. 初次登录之后需要修改密码。修改密码的命令为:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';。其中,新密码 要被换成自己设置的密码,且 新密码 要位于单引号之中。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql\_native\_password BY 'helloworld';

  

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'helloworld';
    Query OK, 0 rows affected (0.02 sec)
    
    mysql>
    

* * *

【踩坑提醒】

在 `MySQL 5.7` 及以前的版本,修改密码的命令是 `set password for root@localhost =password(‘新密码’);`。如果在 `MySQL 8.0` 中使用该命令,会发生如下报错:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'password(‘helloworld’)' at line 1
    

* * *
  1. MySQL 登录成功后,就可以使用 MySQL 语言来对数据库进入控制了。

  2. 在使用完数据库后,就可以考虑退出了。退出 MySQL 的方法是,先使用命令 exit 来退出登录。

exit

  

    mysql> exit
    Bye
    
    D:mysql-8.0.27-winx64in>
  1. 使用命令 net stop xxx 退出 MySQL 服务。其中,xxx 是前面起的 MySQL 服务名。
net stop mysql01

  

    D:mysql-8.0.27-winx64in>net stop mysql01
    mysql01 服务正在停止.
    mysql01 服务已成功停止。
    
    
    D:mysql-8.0.27-winx64in>
    

* * *

【提示】

如果读者非常爱干净,可以在此处将前面注册的 MySQL 服务也一并移除。使用命令 `sc delete xxx` 即可。其中,`xxx` 是前面起的 MySQL 服务名。

sc delete mysql01

  

    D:mysql-8.0.27-winx64in>sc delete mysql01
    [SC] DeleteService 成功
    
    D:mysql-8.0.27-winx64in>
    

但是,这样做了之后,下次再登录时,需要额外先执行前面的命令 `mysqld install xxx` 再次安装 MySQL 服务。(此时只需要注册 MySQL 服务,**不需要**执行 MySQL 初始化。)

* * *
  1. 退出之后,如果需要再次登录,只需要从前面的命令 net start xxx 开始进行即可。示例如下:

    D:mysql-8.0.27-winx64in>net start mysql01
    mysql01 服务正在启动 .
    mysql01 服务已经启动成功。

    D:mysql-8.0.27-winx64in>mysql -u root -p -P3306
    Enter password: ******
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 8
    Server version: 8.0.27 MySQL Community Server - GPL

    Copyright © 2000, 2021, Oracle and/or its affiliates.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

    mysql>

  2. 现在,MySQL 免安装版的配置就大功告成了。

附录

其它 MySQL 命令

查看本 MySQL 数据存放目录

这需要先登录所需要查询的 MySQL 客户端才行。如果已经登录,输入如下命令即可:

show global variables like “%datadir%”;

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

猜你喜欢

转载自blog.csdn.net/web15085599741/article/details/126075705