前言

谨以此记录MySQL安装过程中的各种问题及安装步骤(好像这是我的第一条博客?)


一、MySQL的版本选择

压缩版(.zip)与安装版(.msi)对比

        二者的安装方式一样简便,相较压缩版MySQL,安装版MySQL不能指定安装位置,而安装版的好处便是具有可视化安装界面(虽然是全英文),对新手较为友好(不过也会出现看不懂英文不小心安装上MySQL全家桶的新手),并且可以在安装程序中配置用户信息。

        综上,建议新手使用安装版的MySQL,熟悉使用后可以换成解压版的MySQL。(关于数据迁移可以参照【文章待发布】)。不过对于计算机的学生嘛,毕竟是实践出真理,所以也应该尝试一下配置解压版的MySQL。

*关于安装版没有64位的说明:

         也就是说只是安装包没有6位的,但是安装上的mysql-server是有64位的。


二、MySQL解压版下载及安装步骤

1.从官网下载MySQL

        因为教材使用的是5.7版本的MySQL,所以这里附上5.7版本MySQL的下载链接。

         解压版MySQL(Download Page

        进入下载页后点击右上角的查看旧版本。

        然后选择64位或32位版本点击下载。

         跳转到此页面,选择最下面的"No Thanks,just start my download"跳过登录开始下载。

2.解压

        下载完成后得到一个后缀为.zip的压缩包,将其解压到你想放置mysql的目录(我将其放置在D盘根目录下)。

        文件夹里面的一些东西是可以删掉的,并不会影响正常使用,至少在我自己使用的时候没有问题(如果在某种情况下可能有问题,恳请大神指教),我们可以删除文件夹里的lib目录(约1.28G)和bin目录下的mysqld.pdb文件(约162M),根据在stackoverflow找到的说法,这是为了可以重新编译MySQL和调试而存在的,我们只是为了使用它,并不打算修改,所以可以直接删掉。删除后再看看文件夹的大小,是不是小了很多(大约只剩199M)。

引用于Horvey's blog 转侵删

         如果出现两层mysql-5.7.35-winx64的情况,可以移动一下文件,尽量不要出现两层目录的情况。

3.配置MySQL

1)以管理员身份运行cmd

        在系统搜索框中搜索cmd,右键选择以管理员身份运行。

2)创建my.ini配置文件

        使用cd命令移动到mysql目录下,如果mysql目录不在C盘,则需要使用命令【D:】切换盘符。在mysql目录下使用如下命令创建my.ini配置文件。(不需要关闭cmd,后续还会用到。)

cd.>my.ini

3)编辑my.ini进行初始化前配置

        右键点击my.ini,选择编辑,将一下配置填入(可根据需要参照my.ini详解自行修改)。

[client]
port=3306

[mysql]
default-character-set=utf8                

[mysqld]
basedir = "D:/mysql-5.7.35-winx64"         #需要更改为自己的安装目录
datadir = "D:/mysql-5.7.35-winx64/data"     #需要更改为自己的安装目录加上/data
port = 3306			                      
max_connections=200		                  

character-set-server=utf8		          
default-storage-engine=INNODB

附my.ini配置参数说明(转自C语言中文网

参数类型参数名称说明
[client]port表示 MySQL 客户端连接服务器端时使用的端口号,默认的端口号为 3306。如果需要更改端口号的话,可以直接在这里修改。
[mysql]default-character-set表示 MySQL 客户端默认的字符集。
[mysqld]port表示 MySQL 服务器的端口号
basedir表示 MySQL 的安装路径
datadir表示 MySQL 数据文件的存储位置,也是数据表的存放位置
default-character-set表示服务器端默认的字符集
default-storage-engine创建数据表时,默认使用的存储引擎
sql-mode表示 SQL 模式的参数,通过这个参数可以设置检验 SQL 语句的严格程度
max_connections表示允许同时访问 MySQL 服务器的最大连接数。其中一个连接是保留的,留给管理员专用的
query_cache_size表示查询时的缓存大小,缓存中可以存储以前通过 SELECT 语句查询过的信息,再次查询时就可以直接从缓存中拿出信息,可以改善查询效率
table_open_cache表示所有进程打开表的总数
tmp_table_size表示内存中每个临时表允许的最大大小
thread_cache_size表示缓存的最大线程数
myisam_max_sort_file_size表示 MySQL 重建索引时所允许的最大临时文件的大小
myisam_sort_buffer_size表示重建索引时的缓存大小
key_buffer_size表示关键词的缓存大小
read_buffer_size表示 MyISAM 表全表扫描的缓存大小
read_rnd_buffer_size表示将排序好的数据存入该缓存中
sort_buffer_size表示用于排序的缓存大小
[mysqld](InnoDB 存储引擎使用的参数)innodb_additional_mem_pool_size表示附加的内存池,用来存储 InnoDB 表的内容。
innodb_flush_log_at_trx_commit是设置提交日志的时机,若设置为 1,InnoDB 会在每次提交后将事务日志写到磁盘上。
innodb_log_buffer_size表示用来存储日志数据的缓存区的大小。
innodb_buffer_pool_size表示缓存的大小,InnoDB 使用一个缓冲池类保存索引和原始数据。
innodb_log_file_size表示日志文件的大小。
innodb_thread_concurrency表示在 InnoDB 存储引擎允许的线程最大数。

Attention:每次修改 my.ini 文件中的参数后,必须重新启动 MySQL 服务才会有效。

4)初始化MySQL

        在cmd中输入"cd bin",移动到bin目录。输入"mysqld --initialize-insecure",对mysql进行初始化初始化完成后会出现data目录。

cd bin
mysqld --initialize-insecure

5)注册MySQL服务

        使用命令行在bin目录下中输入"mysqld -install",安装MySQL的Windows服务,若安装成功会提示"Service successful installed"。

mysqld -install

 

        若提示"The service already exists!  The current server installed:xxx"(xxx为旧mysql安装路径),则需要执行以下命令卸载旧版MySQL服务。

net stop mysql
mysqld -remove mysql

 

        若第一条命令执行失败,可能是权限不足(使用管理员身份运行cmd)或mysql服务未开启(无碍,跳过)。

        若第二条命令执行失败,可能是未将mysql的bin目录添加至系统环境变量,需要手动到旧版mysql的bin目录下执行命令。

6)启动MySQL服务

        使用以下命令启动MySQL服务。(需要管理员权限)

net start mysql

4.配置环境变量

1)打开环境变量

右键点击“此电脑/我的电脑”,选择属性,进入关于界面。或直接通过设置——系统——关于进入该界面。在右侧或下侧的相关设置中点击高级系统设置。 点击进入环境变量

        进入环境变量后选择下方系统变量中的Path,点击编辑。

2a)增加环境变量(Win10及以上)

        点击新建,将mysql的bin目录路径加进环境变量,确定并保存后关闭。

2b)增加环境变量(Win8.1及以下)

         不要修改已存在的任何值,在结尾加上一个分号后加入mysql的bin目录路径,确定并保存后关闭。

5.登录MySQL

1)修改root账户密码

        在命令行中输入"mysqladmin -u root password 1234"设置root账户的初始密码为1234,也可以根据需要更改密码,无论是否是初学者,都建议不要设置弱密码

mysqladmin -u root password 1234

图源Horvey's blog 转侵删

 2)登录MySQL

        在命令行中输入"mysql -u root -p"可以使用root账户登录MySQL,而后会提示输入密码。输入密码后成功进入MySQL的命令行界面。

        


小记

好歹自己也重装过几十次MySQL了,每次都看着别人的教程装有点不得劲,干脆自己写一篇教程吧,也省去了帮别人装的过程,于是就有了这篇博客,也是第一篇博客。

Logo

本社区面向用户介绍CSDN开发云部门内部产品使用和产品迭代功能,产品功能迭代和产品建议更透明和便捷

更多推荐