title: windows下安装mysql服务 #标题tags: #标签
date: 2021-11-15
categories: mysql # 分类

由于最近在学习django的ORM,需要去连接mysql数据库进行一些测试,所以整理了下在windwows下安装mysql的文档(懒得开linux的虚机去装mysql了)。

下载并解压二进制包

访问https://downloads.mysql.com/archives/community/,找到合适的版本并下载,如下(我下载的是X64的5.7.35版本):

windows下安装mysql服务 - 图1

下载成功后,将其解压到一个合适的位置,这里我是在测试,所以就解压至C:\software\目录下。

定义配置文件

进入解压后的目录,编写my.ini文件,my.ini文件内容如下:

  1. [mysqld]
  2. port = 3306
  3. basedir=C:\\software\mysql-5.7.35-winx64
  4. datadir=C:\\software\mysql-5.7.35-winx64\data
  5. max_connections=200
  6. character-set-server=utf8
  7. default-storage-engine=INNODB

最终目录结构如下:

windows下安装mysql服务 - 图2

配置环境变量

按照如下指示,找到环境变量:

windows下安装mysql服务 - 图3

windows下安装mysql服务 - 图4

windows下安装mysql服务 - 图5

依次点击确定,关闭对话框:

windows下安装mysql服务 - 图6

安装mysql

以管理员身份运行cmq命令提示符:

windows下安装mysql服务 - 图7

然后执行如下指令:

  1. $ cd c:\software\mysql-5.7.35-winx64\bin # 切换至你数据库的bin目录下
  2. $ mysqld --initialize --console # 初始化数据库,会自动创建data目录(如果有报错,请看下面)
  3. 2021-11-15T14:04:30.429672Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
  4. 2021-11-15T14:04:30.699001Z 0 [Warning] InnoDB: New log files created, LSN=45790
  5. 2021-11-15T14:04:30.748203Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
  6. 2021-11-15T14:04:30.812373Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: f3fca8df-461c-11ec-a7d5-000c29be634b.
  7. 2021-11-15T14:04:30.817935Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
  8. 2021-11-15T14:04:31.730681Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
  9. 2021-11-15T14:04:31.731155Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
  10. 2021-11-15T14:04:31.732311Z 0 [Warning] CA certificate ca.pem is self signed.
  11. 2021-11-15T14:04:32.042158Z 1 [Note] A temporary password is generated for root@localhost: 6Q&pIIl(H!?2
  12. # 上面 root@localhost: 后面的字符串就是数据库的默认root密码,需要记好
  13. $ mysqld.exe install # 执行安装命令
  14. Service successfully installed. # 输出此信息,则表示安装成功

如果报错如下:

windows下安装mysql服务 - 图8

访问微软官网,下载合适自己的版本,我这里下载X64位的,如下:

windows下安装mysql服务 - 图9

下载后,自行进行无脑安装即可。

然后再重新执行下初始化和安装数据库的指令就可以了。

启动mysql

  1. C:\software\mysql-5.7.35-winx64\bin>net start mysql # 启动mysql
  2. MySQL 服务正在启动 .
  3. MySQL 服务已经启动成功。
  4. C:\software\mysql-5.7.35-winx64\bin>netstat -an | findstr 3306 # 确定端口在监听
  5. TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING
  6. TCP [::]:3306 [::]:0 LISTENING

登录mysql

  1. $ mysql.exe -uroot -p
  2. Enter password: ************ # 输入初始化时控制台输出的密码

配置权限及本机免密码登录

为了测试方便,我将配置本机可以免密登录到数据库中。

  1. # 授权mysql的root用户
  2. mysql> alter user user() identified by "123.com"; # 需要先修改初始密码
  3. Query OK, 0 rows affected (0.00 sec)
  4. # 才能进行其他授权指令的操作
  5. mysql> grant all on *.* to root@'%' identified by '123.com';
  6. Query OK, 0 rows affected, 1 warning (0.00 sec)
  7. mysql> flush privileges; # 刷新权限
  8. Query OK, 0 rows affected (0.00 sec)
  9. # 数据库配置文件my.ini文件中追加如下内容
  10. [mysql]
  11. default-character-set=utf8
  12. user=root
  13. password=123.com
  14. # 追加如上内容,无需重启数据库即可生效。后续执行执行mysql即可登录到数据库中

至此,数据库登录安装完成。

默认数据库都是开机自启的,也就是说,以后就算重启电脑了,直接登录数据库就行,如下:

windows下安装mysql服务 - 图10