Mysql for Windows 安装及初始化
一、简介
Windows 安装 Mysql 主要还是为了本地调试的方便。8.x 的版本和 5.7 的版本安装过程大差不差,这里以 8.0.35(8.2版本发布前的最新版)举例。
二、下载安装
Windows 端 Mysql 只需要在 MySQL :: Download MySQL Community Server 页面选择对应版本下载 mysql-xxx-winx64.zip,该压缩包为编译后文件,并非源码, 可以直接运行。
目录结构如下:
Directory: D:\Element\mysql-8.0.35
Mode LastWriteTime Length Name
---- ------------- ------ ----
da--- 2024/1/4 15:00 bin
da--- 2024/1/4 15:00 docs
da--- 2024/1/4 15:00 include
da--- 2024/1/4 15:00 lib
da--- 2024/1/4 15:00 share
-a--- 2023/10/12 19:45 279355 LICENSE
-a--- 2023/10/12 19:45 666 README
四、配置
配置环境变量
为方便 Mysql 服务的使用和管理,可以在 PATH 中加入 Mysql 的 bin 目录。
修改配置文件
Mysql 配置默认读取自安装目录下 my.ini
,如没有需要创建一个,Mysql 默认有一套配置,如端口默认为 3306 等,my.ini
并非必须,只需要在其中写明需要的配置即可,如下:
[mysqld]
lower_case_table_names=2
注意:此处 lower_case_table_names 有三种取值:
- 0:表示表名区分大小写。
- 1:表示将表名转换为小写,但在比较时仍然区分大小写。
- 2:表示将表名转换为小写,并且在比较时也不区分大小写。
初始化
初始化 Mysql 需要管理员权限,需要管理员权限运行 Powershell 或 CMD。执行 mysqld --initialize --console
既可初始化并在控制台显示密码。
Mysqld
服务初始化过程如下:
PS D:\Element\mysql-8.0.35> ./bin/mysqld --initialize --console
2024-01-04T07:08:20.705336Z 0 [System] [MY-013169] [Server] D:\Element\mysql-8.0.35\bin\mysqld.exe (mysqld 8.0.35) initializing of server in progress as process 3008
2024-01-04T07:08:20.730739Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-01-04T07:08:21.033652Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-01-04T07:08:22.291288Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: /YlA-/3M_yny
初始化完成后,会在 Mysql 安装目录生成一个 data
目录,即为 Mysql 数据存储目录。初始化日志最后一行显示的即为初始化的随机密码,权限为 root@localhost
。
安装服务
运行 mysqld install
即可在 Windows 系统中安装 Mysql 服务。
PS D:\Element\mysql-8.0.35> .\bin\mysqld install
Service successfully installed.
启动服务
可以使用 net start mysql
命令启动 Mysql 服务,如出现如下内容,即为启动成功:
PS C:\Users\mufeng> net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
测试
服务启动之后,即可连接 Mysql:
PS C:\Users\mufeng> mysql -uroot -p
Enter password: ************
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.35
Copyright (c) 2000, 2023, 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>
修改 Mysql 默认密码
Mysql 权限管理是基于 域 + 用户 + 权限
的方式,本地对安全性要求不高,此处修改 root 用户随处可以登录。
如下:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
Query OK, 0 rows affected (0.01 sec)
mysql> use mysql;
Database changed
mysql> update user set host = '%' where host = 'localhost' and user = 'root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
测试:
PS C:\Users\mufeng> mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.35 MySQL Community Server - GPL
Copyright (c) 2000, 2023, 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>
登录成功!至此,Mysql For Windows 安装完成。
五、其他
Mysql 服务无法启动
Mysql 初始化顺序为先修改配置文件,再初始化,如果先初始化,然后修改了诸如忽略大小写等与现有数据冲突的配置,可能会造成无法启动。