MySQL 8.0安装记录
文档目的
本文用于描述MySQL 8.0安装与配置的一般方法
前言
Oracle官网对应大多数操作系统提供两种种MySQL安装包
Windows:
exe zip
Redhat:
rpm tar.gz
Ubuntu:
deb tar.gz
建议安装方式
以Windows为例,使用exe文件自动安装的方式无法选择数据库数据文件的存储目录位置(虽然后期可更改但多少有些麻烦),因此建议采用压缩包(zip)安装。
安装步骤
下载安装软件依赖
Visual C++ Redistributable for Visual Studio 2015
下载安装文件
MySQL 请下载压缩版本
解压缩文件
请解压缩刚才下载的文件至任意需要的目录下,例如D:\mysql-8.0.17-winx64
确定并创建数据文件目录
本文中以D:\AppData\MySqlData
目录为例,若该目录不存在请手动创建
创建并修改my.ini文件
在MySQL解压缩(或安装)目录下创建my.ini文件,写入如下内容
[mysqld]
# MySQL安装目录(或解缩目录)
basedir = D:/mysql-8.0.17-winx64
# MySQL数据文件存储目录
datadir = D:/AppData/MySqlData
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
# InnoDB相关配置
# 默认存储引擎
default-storage-engine=INNODB
# 若整个服务器用于MySQL服务可将下面的键值设置成物理内存的70%
innodb_buffer_pool_size = 1G
# 大约每秒将提交日志序列化到磁盘文件而非每次提交,可提高效率
innodb_flush_log_at_trx_commit = 2
# 日志文件大小,该值无需更改
innodb_log_buffer_size = 16M
# 设置成innodb_buffer_pool_size的1/4
innodb_log_file_size = 256M
[mysql]
default-character-set = utf8mb4
# 此节仅供MySQL自己的客户端读取
[client]
default-character-set = utf8mb4
初始化系统库
在安装或解压目录的bin
子目录下执行如下命令
mysqld --initialize --console
执行完成后将会在输出信息中打印出临时密码
D:\mysql-8.0.17-winx64\bin>mysqld --initialize --console
100 200
100 200
2019-09-10T08:43:55.919126Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2019-09-10T08:43:55.919212Z 0 [System] [MY-013169] [Server] D:\mysql-8.0.17-winx64\bin\mysqld.exe (mysqld 8.0.17) initializing of server in progress as process 18768
2019-09-10T08:44:00.960671Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: jqmdGlxu)2Jg
2019-09-10T08:44:02.469656Z 0 [System] [MY-013170] [Server] D:\mysql-8.0.17-winx64\bin\mysqld.exe (mysqld 8.0.17) initializing of server has completed
从输出可看出,系统库初始化成功,且临时密码为jqmdGlxu)2Jg
如果没有记住密码且关闭了命令行窗口,只能删除掉datadir
目录下刚刚生成的文件,并重复上述步骤。
在Windows系统中安装并启动服务
注册服务
在bin目录下执行如下命令:
mysqld --install MySQL8.0
注意:上述操作需要管理员权限,请以管理员权限打开命令行窗口
上述命令中的"MySQL8.0"是注册的服务名称,可任意起名,若不输入该参数则为默认的"mysql"
服务的启动与停止
在控制面板的服务中找到MySQL8.0服务,按右键可操作服务启动或停止 启动与停止的命令行分别如下所示
net start MySQL8.0
net stop MySQL8.0
更改密码和密码认证插件
在MySQL安装目录的 bin 目录下执行命令:
mysql -uroot -p
这时候会提示输入密码,填入初始化系统库时得到的临时密码即可登录成功,进入MySQL命令模式。
在MySQL8.0.4以前,执行
SET PASSWORD=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项。
[mysqld]
default_authentication_plugin=mysql_native_password
修改完成后重启mysql服务完成所有安装步骤
附:Navicat Premium 12.1 破解方法
下载破解软件
https://github.com/DoubleLabyrinth/navicat-keygen/releases
解压后执行如下命令
navicat-patcher.exe "C:\Program Files\PremiumSoft\Navicat Premium 12"
navicat-keygen.exe -text .\RegPrivateKey.pem
断网注册,注册助手