一、下载
https://dev.mysql.com/downloads/mysql/
Archive 可以下载历史版本的
i 可以查看文档
Looking for previous GA versions? 可以下之前版本的,5.7和5.6
也有MSI下载的,5.7的也有MSI下载的
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-winx64.zip
二、安装配置
1.解压,并创建my.ini
my.ini
主要的就是basedir和datadir
mysql8.0 数据库默认编码变成utf8mb4了,mysql中的utf8支持最长三个字节的UTF-8字符,utf8mb4支持4字节长度的UTF-8字符,比如Emoji表情和其他不常用的汉字等。推荐使用utf8mb4
[client]
port=3306
[mysql]
default-character-set=utf8mb4
[mysqld]
# 服务器侦听TCP/IP连接的端口号。
port=3306
# MySQL安装基础目录的路径。
basedir=D:/Program Files/MySQL/mysql-8.0.20-winx64
# MySQL服务器数据目录的路径。最好将datadir值指定为绝对路径。
datadir=D:/Program Files/MySQL/mysql-8.0.20-winx64/data
# 服务器默认字符集。如果设置此变量,还应设置collation_server以指定字符集的排序规则。
character-set-server=utf8mb4
# 服务器的默认排序规则。
collation_server=utf8mb4_0900_ai_ci
# 表的默认存储引擎。此变量仅为永久表设置存储引擎。
# 要为临时表设置存储引擎,请设置default_tmp_storage_engine系统变量。
default-storage-engine=InnoDB
# 允许的最大同时客户端连接数。(1-100000)
max_connections=151
# 在max_connect_errors之后,来自主机的连续连接请求在没有成功连接的情况下被中断,服务器将阻止该主机进行进一步的连接。
max_connect_errors=100
# 默认的身份验证插件。(mysql_native_password,sha256_password,caching_sha2_password)
default_authentication_plugin=caching_sha2_password
2.添加环境变量(可选)
在Path中加入D:\Program Files\MySQL\mysql-8.0.20-winx64\bin
3.初始化
cmd
D:\Program Files\MySQL\mysql-8.0.20-winx64\bin>mysqld --initialize --console
需要安装Microsoft Visual C++ Redistributable for Visual Studio 2015
Visual Studio 2015, 2017 and 2019
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
vc_redist.x64.exe
再次运行初始化
密码记一下:root@localhost: xut:49WwYl_S
初始化后,添加了data目录
4.注册为服务
mysqld --install [服务名]
后面的服务名可以不写,默认的名字为mysql。建议指定为mysql80,方便与mysql57区分。
D:\Program Files\MySQL\mysql-8.0.20-winx64\bin>mysqld --install mysql80
Install/Remove of the Service Denied!
使用系统管理员运行cmd
D:\Program Files\MySQL\mysql-8.0.20-winx64\bin>mysqld --install mysql80
Service successfully installed.
服务列表
可以改成手动
删除服务
mysqld --remove mysql80
启动服务
net start mysql80
停止服务
net stop mysql80
5.使用命令行连接
mysql -u root -p
修改密码
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY 'root';
Query OK, 0 rows affected (0.19 sec)
允许root用户远程访问
新版创建用户和授权要分开写
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'root';
Query OK, 0 rows affected (1.85 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.12 sec)
6.使用客户端连接
Navicat 12
修改密码
打开连接,提示修改初始密码,可以把密码改为root,
三、文档
MySQL 8.0 Reference Manual
2.3.4 Installing MySQL on Microsoft Windows Using a noinstall ZIP Archive
2.3.4.2 Creating an Option File
5.1.2 Server Configuration Defaults
5.1.7 Server Command Options
5.1.8 Server System Variables (my.ini中的属性的解释及默认值)
10.4 Connection Character Sets and Collations