前言
谨以此记录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了,每次都看着别人的教程装有点不得劲,干脆自己写一篇教程吧,也省去了帮别人装的过程,于是就有了这篇博客,也是第一篇博客。