windows下二进制安装mysql后没有my.ini的解决方法

默认情况下使用解压安装的mysql没有mysql.ini文件,可正常启动使用,变更配置重启mysql会失效。

解决思路是:删除mysql服务并重新初始化数据库,在初始化数据库时指定配置文件。

删除服务

sc delete mysql

创建配置文件

在自己希望的位置上创建my.ini,并写入下列内容,其中basedir和datadir需根据实际路径修改

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

init_connect=’SET NAMES utf8mb4′

innodb_buffer_pool_size = 128M

basedir = C:\mysql-5.7.32-winx64

datadir = C:\mysql-5.7.32-winx64\data

port = 3306

join_buffer_size = 128M

sort_buffer_size = 128M

read_rnd_buffer_size = 128M

sql_mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

transaction-isolation = READ-COMMITTED

max_allowed_packet = 256M

collation-server = utf8mb4_unicode_ci

ft_min_word_len=2

max_connections = 1000

lower_case_table_names=1

重新生成数据文件

此操作会清空数据路径,如有数据需备份。

mysqld –initialize-insecure –user=mysql

重新安装mysql服务

mysql57是服务名称

defaults-file是配置文件路径,相对路径和绝对路径都可使用

mysqld –install “mysql57″ –defaults-file=”C:\Program Files\mysql-5.7.32-winx64\my.ini”

启动服务

sc start mysql57

本文链接地址: https://danteng.org/how-to-solve-installed-windows-binary-mysql-without-my-ini/