MySQL5.7.24 ZIP版安装详解

最近一段时间习惯使用 Linux 服务器开发系统,今天突然来个一个 Windows server 2008 R2 系统,下面记录一下在安装 MySQL 出现的问题

 下载 MySQL 文件并解压

  文字版:

  进入官网:https://www.mysql.com/

  依次单击下面的选项【Downloads】—->【Community】—-> 【MySQL Community Server (GPL)】 —->【DOWNLOAD】 —->选择自己的系统版本 —-> 下载【Windows (x86, 64-bit), ZIP Archive】—-> 把下载好的压缩包以移动到自己想要的位置 —-> 解压

  图片版:

  

https://image.coderlab.cn/preview/1438624180621819905

  5c12cd1daa2d0

  

https://image.coderlab.cn/preview/1438624190067392514

  5c12cd31f2b5b

  

https://image.coderlab.cn/preview/1438624209826758657

  5c12cfb3395dd

  

https://image.coderlab.cn/preview/1438624224490045441

  5c12cfc9986c1

  

https://image.coderlab.cn/preview/1438624245247655938

  5c12cfd35f6d4

MySQL 目录详解

  • bin:存放 mysqld mysql 等二进制文件
  • data:数据库初始化文件及数据库文件。没有这个目录,说明我们等会要自己初始化
  • my.ini:mysql 越来越省事了,连个默认配置文件都不给了,等会我们从 5.6 那边拷贝一份

创建 my.ini,配置 MySQL

1
[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysqld]#设置3306端口port = 3306# 设置mysql的安装目录basedir=E:\\MySQL\\mysql-5.7.24-win64#数据存储目录datadir = E:\\MySQL\\mysql-5.7.24-win64\data# secure_file_priv 目录secure_file_priv = E:\\MySQL\\mysql-5.7.24-win64\data# 允许最大连接数max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB#innodb的缓存,可以根据实际情况调整大小,我这里采取默认值innodb_buffer_pool_size = 128M#把这些缓存都放开,可以提高性能,加快速度join_buffer_size = 128Msort_buffer_size = 2Mread_rnd_buffer_size = 2M#配置一下服务端的字符集character_set_server=utf8sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLE#配置一下客户端的字符集[client]default-character-set=utf8

安装数据库

小插曲:如果电脑提示找不到 MSVCR120.dll,请下载 Microsoft Visual C++ 2013 Redistributable (x64)。

Microsoft Visual C++ 2013 Redistributable (x64)

https://image.coderlab.cn/preview/1438624257490829314

其中还会遇到其他问题请看我的这篇文章

  打开 cmd(尽量以管理员身份运行),切换到 mysql 下的 bin 目录

1
2
3
4
5
6
[[安装服务]]
mysqld -install
[[初始化数据库,生成]] data 目录
mysqld --initialize-insecure --user=mysql
# 启动数据库
net start mysql

登录 MySQL 并修改密码

1
2
3
4
5
6
 shell>mysql -u root -p  [[没有密码]]
 # 方案一:
 mysql>set password = password (’新密码‘);
 # 方案二:
 mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘1234’;
 mysql> FLUSH PRIVILEGES;

  

https://image.coderlab.cn/preview/1438624263136362497

  5c12d48502061

  

https://image.coderlab.cn/preview/1438624270828716033

  5c12d4938ee54

  修改完之后退出,使用新密码如果可以登陆就大功告成了。

远程登录

  现在的 mysql 只能本地登陆,如果想在局域网中访问,需要把 mysql 下的 user 表中 root 用户的 host 改成通配符%就可以了。