MySQL 8.0.34(x64)安装笔记

一、背景

  从MySQL 5.6到5.7,再到8.0,版本的跳跃不可谓不大。安装、配置的差别也不可谓不大,特此备忘。

二、过程

(1)获取MySQL 8.0社区版(MySQL Community Server)
  从 官网 字样 “MySQL Community Server” 的链接进入到下载页。
  选择8.0.xx(截至2023-9-1,最新版本为34)的zip文件即可(形如:mysql-8.0.34-winx64.zip)。
(2)安装
  解压zip文件到指定位置(推荐为非系统盘的根目录)即可。
  两个环境变量设置:
   ① 新建MYSQL_HOME变量,并设置为MySQL安装文件夹路径。
   ② 将【%MYSQL_HOME%\bin】加入到PATH变量中。
(3)配置
  配置文件(.ini、.cnf等)主要参考官方文档中有关配置文件章节
  配置文件名规则:先是my.ini,再是my.cnf;检测位置规则:先是C:\,再是安装文件夹。
  8.0版本安装包没有提供配置文件模板,需自行创建,推荐在安装文件夹中创建my.ini文件。
  常见配置项说明如下,配置文件模板(my.ini)附后。

选项组选项说明备注
mysqldbasedirMySQL安装文件夹字符串,
mysqlddatadir数据文件夹字符串,
mysqldport服务端口整形,默认值3306,取值范围 [0, 65535]
mysqldmax_connections同时允许的最大客户端连接数整形,默认值151,取值范围 [1,100000]
mysqldmax_connect_errors最大连接失败数整形,默认值100,取值范围 [1,18446744073709551615]
mysqldcharacter-set-server服务(mysqld程序)的默认字符集字符串,默认值utf8mb4
mysqldsql-mode设置不同的SQL模式(SQL语法)字符串,默认值 ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, and NO_ENGINE_SUBSTITUTION.
mysqlddefault-storage-engine数据表的默认存储引擎枚举,默认值InnoDB
mysqlddefault_authentication_plugin默认的身份验证插件枚举,默认值caching_sha2_password,
其他值:mysql_native_password 和 sha256_password
mysqldefault-character-setmysql(命令行客户端)默认的字符集字符串,
clientdefault-character-set客户端(C API)默认的字符集字符串,
clientport客户端(C API)默认的连接端口整形,

(4)初始化、启动 服务

mysqld --initialize --console # 初始化并获取root初始密码
mysqld --install <服务名> # 安装服务,默认服务名为mysql,可以指定,例如:mysql80
net start <服务名> # 启动服务

(5)修改root账户密码

mysql -u root -p #进入mysql命令行工具,密码为root初始密码

ALTER USER root@localhost IDENTIFIED BY '<新密码>';
exit # 退出命令行工具

net stop <服务名> # 重启mysql服务
net start <服务名>
三、问题

(1)允许远程主机连接服务
  默认MySQL不允许远程主机连接。可修改:

mysql -u root -p #进入mysql命令行工具

use mysql; # 选择系统库mysql
select host from user where user='root'; # 查看允许主机
update user set host = '%' where user='root';
flush privileges; # 提交
select host from user where user='root'; # 验证查看
exit # 退出命令行工具

net stop <服务名> # 重启mysql服务
net start <服务名>

(2)数据库字符集修改
  早期默认字符集为utf8,现在几乎统一为utf8mb4(8.0的默认值即utf8mb4)。
  如有修改,可直接修改配置文件的项【character-set-server】即可。需重启服务。

四、结论

  MySQL 8.0相对5.6和5.7等早期版本,安装、配置的难点还是在配置文件。
  而配置项大致分为3组:服务端(mysqld)、mysql命令行(mysql)和客户端(client)。
  对应的配置项(变量)也各有定义:
  ① Server System Variables
  ② mysql Client Options
  ③ mysql_options

五、其他

(1)SQL模式

  查看现有SQL模式:

use mysql;
show VARIABLES LIKE '%sql_mode';

  显示内容:ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO, NO_ENGINE_SUBSTITUTION
  相关含义参考官方文档
  可通过修改配置项【sql-mode】来修改SQL模式。

(2)my.ini配置模板

[mysqld]

# 设置服务端端口
port=3306
# $MYSQL_HOME
basedir=D:\mysql
# 数据文件夹
datadir=D:\mysql\DATA
# 最大连接数
max_connections=200
# 最大连接失败次数
max_connect_errors=10
# 服务端字符集
character-set-server=utf8mb4
# 默认存储引擎
default-storage-engine=INNODB
# 默认认证插件
default_authentication_plugin=mysql_native_password

# this is incompatible with sql_mode=only_full_group_by
sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

[mysql]
# 客户端默认字符集
default-character-set=utf8

[client]
# 客户端连接端口
port=3306
# 客户端默认字符集
default-character-set=utf8

(3)数据库创建模板

CREATE DATABASE `<数据库名>` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';

如图所示:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值