MySQL-8.0.11 在 Windows10 上的安装
下载
MySQL8.0 For Windows zip包下载地址:https://dev.mysql.com/downloads/file/?id=476233。
进入页面后可以不登录,点击底部“No thanks, just start my download.”即可开始下载。
或着可以直接下载:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-winx64.zip。
安装
1、解压压缩包到安装目录
我的安装目录是:D:\Programmer\mysql,解压完结果如下
2、修改配置文件
在Windows系统中,配置文件默认是安装目录下的 my.ini 文件(或my-default.ini),部分配置需要在初始安装时配置,大部分也可以在安装完成后进行更改。
发现解压后的目录并没有 my.ini 文件,没关系可以自行创建。在安装根目录下添加 my.ini,比如我这里是:D:\Programmer\mysql\mysql-8.0.11-winx64,写入基本配置:
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:\Programmer\mysql\mysql-8.0.11-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\Programmer\mysql\mysql-8.0.11-winx64\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
注意,里面的 basedir 是我本地的安装目录,datadir 是我数据库数据文件要存放的位置(data文件夹不用创建,安装的时候程序会自动创建),各项配置需要根据自己的环境进行配置。
查看所有的配置项,可参考:https://dev.mysql.com/doc/refman/8.0/en/mysqld-option-tables.html
3、初始化数据库
用管理员身份打开 CMD 命令行窗口,进入到 MySQL 的安装目录下的 bin 目录下,执行以下命令:
mysqld --initialize --console
执行完毕后会打印 root 用户的初始密码,执行结果如下:
C:\WINDOWS\system32>D: D:\>cd Programmer\mysql\mysql-8.0.11-winx64\bin D:\Programmer\mysql\mysql-8.0.11-winx64\bin>mysqld --initialize --console 2018-07-30T14:17:46.332533Z 0 [System] [MY-013169] [Server] D:\Programmer\mysql\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 2628 2018-07-30T14:17:57.499721Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ;y;2V,aSeo<q 2018-07-30T14:18:04.761500Z 0 [System] [MY-013170] [Server] D:\Programmer\mysql\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed D:\Programmer\mysql\mysql-8.0.11-winx64\bin>
注意!执行输出结果里面有一段:
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ;y;2V,aSeo<q
其中root@localhost:后面的“;y;2V,aSeo<q”就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。
要是你手贱,关快了,或者没记住,那也没事,删掉初始化的 datadir 目录,再执行一遍初始化命令,又会重新生成的。当然,也可以使用安全工具,强制改密码,用什么方法,自己随意。
参考:https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html
4、安装服务
继续在 MySQL 安装目录的 bin 目录下执行命令
mysqld --install [服务名]
后面的服务名可以不写,默认的名字为 mysql。当然,如果你的电脑上需要安装多个 MySQL 服务,就可以用不同的名字区分了,比如 mysql5 和 mysql8。
安装完成之后,就可以通过下面的命令启动MySQL的服务了。
net start mysql
执行结果示例:
D:\Programmer\mysql\mysql-8.0.11-winx64\bin>mysqld --install Service successfully installed. D:\Programmer\mysql\mysql-8.0.11-winx64\bin>net start mysql MySQL 服务正在启动 . MySQL 服务已经启动成功。
参考:https://dev.mysql.com/doc/refman/8.0/en/windows-start-service.html
更改密码
在 MySQL 安装目录的 bin 目录下执行命令:
mysql -u root -p
这时候会提示输入密码,记住了上面安装时的初始密码,填入即可登录成功,进入 MySQL 命令模式。
在 MySQL8.0.4 以前,执行
SET PASSWORD FOR root@localhost = PASSWORD('新密码');
就可以更改密码,但是从 MySQL8.0.4 开始,这样默认是不行的。因为之前,MySQL 的密码认证插件是 “mysql_native_password”,而现在使用的是“caching_sha2_password”。因为当前有很多数据库工具和链接包都不支持 “caching_sha2_password”,为了方便,我暂时还是改回了 “mysql_native_password”认证插件。
修改密码验证插件,同时修改密码。在MySQL中执行命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
如果想默认使用 “mysql_native_password” 插件认证,可以在配置文件中配置 default_authentication_plugin 项。
在配置文件 my.ini 中添加:
[mysqld] default_authentication_plugin=mysql_native_password
这一步示例如下:
D:\Programmer\mysql\mysql-8.0.11-winx64\bin>mysql -u root -p Enter password: ************ Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.11 Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. 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> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456789'; Query OK, 0 rows affected (0.12 sec)
到此,安装部署就完成了。
最后可以关闭数据库,使用以下命令:
net stop mysql
示例如下:
mysql> exit Bye D:\Programmer\mysql\mysql-8.0.11-winx64\bin>net stop mysql MySQL 服务正在停止. MySQL 服务已成功停止。 D:\Programmer\mysql\mysql-8.0.11-winx64\bin>
添加环境变量
我的电脑(此电脑)--》属性--》高级系统设置 --》高级--》环境变量 --》系统变量 --》Path。
添加好环境变量后,直接在任意目录打开CMD命令行都能访问到 MySQL 的 bin 目录下的命令了。