默认情况下使用解压安装的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/