Windows安装MySQL8

1. 解压zip包到安装目录
解压在C:\mysql

2. 添加MySQL的bin目录路径到PATH环境变量,分号+bin文件的位置

3. 配置初始化的my.ini文件,在安装根目录下C:\mysql\添加 my.ini(新建文本文件,将文件类型改为.ini)内容:

[mysqld]
# 设置3306端口
port=3306
# set basedir to your installation path
# 设置mysql的安装目录
# 切记此处一定要用双斜杠\\,单斜杠我这里会出错,不过看别人的教程,有的是单斜杠。自己尝试吧
#basedir=C:\\mysql
basedir=C:/mysql
# set datadir to the location of your data directory
# 设置mysql数据库的数据的存放目录
#datadir=C:\\mysql\\Data
datadir=C:/mysql/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

注意:其中的data目录不需要创建,下一步初始化工作中会自动创建。

4. 初始化数据目录

以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够)
输入:cd C:\mysql\bin 进入mysql的bin文件夹,不管有没有配置过环境变量,也要进入bin文件夹,否则之后启动服务仍然会报错误2
执行命令:mysqld --initialize --console
执行完成后,会打印 root 用户的初始默认密码,比如:A temporary password is generated for root@localhost: hrpN:uK-r1ee 
后面的“hrpN:uK-r1ee”就是初始密码(不含首位空格),可在生成的data目录下xxx.err的文件中有记录初始密码
或者删掉初始化的 datadir 目录,再执行一遍初始化命令重新生成

如果:mysqld: Can't create directory 'C:\mysql\data\' (OS errno 2 - No such file or directory) 则检查my.ini文件中路径

如果mysqld无法确定安装目录或数据目录的正确位置,则可能需要指定--defaults-file选项
C:\> bin/mysqld --defaults-file=C:\mysql\my.ini --initialize
当调用--initialize--initialize-insecure选项,mysqld执行以下初始化序列
(1)服务器检查存在的数据目录,如果提示没有data目录则创建它,如果提示有data目录但不为空,则删除data目录或重命名data目录
(2)在data目录下创建mysql系统数据库及其表, 包括授权表,服务器端帮助表, 时区表
(3)服务器初始化系统表空间需要和相关的数据结构管理InnoDB
(4)服务器创建一个'root'@'localhost'超级用户账户和其他保留帐户
(5)如果fill_help_tables.sql内容可用则填充服务器端帮助表,而不填充时区表
(6)如果赋予--init-file选项来命名SQL语句的文件,则服务器将执行文件中的语句,此选项使您能够执行自定义引导序列

5. 安装MySQL作为Windows服务

在bin 目录下执行命令:
mysqld --install [服务名]
后面的服务名可以不写,默认的名字为 mysql。当然,如果你的电脑上需要安装多个MySQL服务,就可以用不同的名字区分了,比如 mysql5 和 mysql8
运行命令services.msc进入服务管理器,查看服务是否已经注册成功

启动MySQL的服务
net start mysql

停止服务
net stop mysql 或 mysqladmin  -u root -p shutdown

注:如果安装windows服务失败,先执行net stop mysql,使用命令sc delete MySQL/mysqld -remove卸载服务,再重安装

6. 修改密码

C:\> bin\mysql -u root -p hrpN:uK-r1ee

mysql>alter user root@'localhost' identified by '123456'; 立即生效的
mysql>use mysql;
mysql>select user,plugin,authentication_string from user;
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
mysql>FLUSH PRIVILEGES;
mysql>alter user 'root'@'localhost' identified by '123456';

使用root账号远程连接提示:Unable to load authentication plugin 'caching_sha2_password'.
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

7. 查看MySQL服务信息
C:\> mysqladmin version status proc -u root -p

查看数据库信息
C:\> mysqlshow -u root -p

查看端口占用命令:netstat -ano

10-13 12:03