Windows安装Mysql8

2021/9/27 mysqlmysql8

官网安装介绍 (opens new window)

# 一、下载 MySQL

网址:https://dev.mysql.com/downloads/mysql/

下载非debug版本即可 下载

# 二、解压并在配置配置文件

  • 将安装包解压到安装路径,如:D:\soft\mysql-8.0.26-winx64
  • 解压后的文件列表如下: half
  • 解压路径下没有配置文件,配置文件官网描述如下: 配置
  • 在解压路径下创建my.ini文件,内容可以参考 (opens new window)
  • my.ini示例数据如下:很多注释是一些常用配置说明没做删除
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir是安装目录
basedir = D:\\soft\\mysql-8.0.26-winx64
# datadir是mysql数据目录
datadir = D:\\soft\\mysql-8.0.26-winx64\\data
# 端口号
port = 3306

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
# 设置字符串支持表情等
character-set-server = utf8mb4

performance_schema_max_table_instances = 600
table_definition_cache = 400
table_open_cache = 256
# 大小写不敏感,如果不设置表名等必须和数据库中的一致
lower_case_table_names=1
# 实现远程访问其他数据库,相当于Oracle的dblink
federated

[mysql]
default-character-set = utf8mb4

[client]
# 端口号
port = 3306
default-character-set = utf8mb4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

# 三、安装

  • 设置环境变量:在系统环境变量path中添加mysql的bin目录,如:
    • D:\soft\mysql-8.0.26-winx64\bin
  • 进入到mysql的bin目录,打开cmd,执行该命令生成data文件
# 如果执行过程中报错说文件不存在检查下配置文件是不是写错了,或者已经配置的文件不是空文件夹
mysqld --initialize-insecure --user=mysql
1
2
  • 执行命令注册服务
# --defaults-file后面跟的是你自己设置的my.ini的位置
# MySQL8 是你注册的服务名字,可自定义
mysqld -install MySQL8 --defaults-file="D:\soft\mysql-8.0.26-winx64\my.ini"
1
2
3
  • 启动mysql
# MySQL8是你上面注册的自定义的名字
net start MySQL8
1
2

# 四、重置密码

  • 打开cmd窗口,登录mysql,新安装的mysql是没有密码的
# 输入命令登录
mysql -uroot -p
# 提示输入密码,因为没有密码,直接回车即可
1
2
3
  • 重置密码
show databases;

use mysql;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 
1
2
3
4
5
  • 验证是否修改成功
    • 打开新的cmd窗口,使用新的用户名密码登录
mysql -uroot -proot
1
  • 如果登录成功说明成功
  • 因为版本不同修改密码的语句不同,有的可能为下面的
update user set authentication_string=PASSWORD("root") where user="root";
1
  • 有的会修改失败报错,如:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,是因为长度限制问题,使用下面的问题解决
mysql> set global validate_password.length=4;
mysql> set global validate_password.policy=0;
1
2

# 五、远程可访问

实现远程连接(授权法)
将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。
update user set host ='%' where user = 'root';
# 如果提示ERROR 1046 (3D000): No database selected 执行use mysql; 选择数据库即可
1
2
3
4
更新日期: 2021/9/29 下午11:37:01