MySQL没有默认my.ini⽂件
mysql不同的安装⽅式会导致是否⽣成my.ini⽂件,⼀般情况下使⽤ZIP安装时,安装好之后默认是没有my.ini配置⽂件。
当我们想修改数据库的配置信息,若没有my.ini⽂件会很⿇烦。
当前情况如下:
数据库安装在E:\Program Files\MySQL\MySQL Server 5.7,该⽂件夹下没有my.ini,但是有my-default.ini。
根据⽹上的⽅式,把my-default.ini移除,复制⼀个my.ini⽂件放在当前安装⽬录下,my.ini内容如下(根据⾃⼰的实际情况进⾏配置):#
#此数据库没有my.ini⽂件,当前⽂件为后来增加的
#
#
[client]
default-character-set= utf8mb4
[mysql]
default-character-set= utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_bin
init_connect='SET NAMES utf8mb4'
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70%of total RAM for dedicated server, else10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
#该参数指定了安装 MySQL 的安装路径,填写全路径可以解决相对路径所造成的问题。
basedir = E:/Program Files/MySQL/MySQL Server 5.7
#该参数指定了 MySQL 的数据库⽂件放在什么路径下。数据库⽂件即我们常说的 MySQL data ⽂件。
datadir = E:/Program Files/MySQL/MySQL Server 5.7/Data
port =3306
# server_id = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 16M
read_rnd_buffer_size = 16M
#定义应该⽀持的sql语法,对数据的校验等等
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
max_allowed_packet=300M
注意问题:
根据⾃⼰的情况修改basedir和datadir;
特别是datadir,这台服务器有三个data⽂件夹,分别为
C:/ProgramData/MySQL/MySQL Server 5.7/Data
E:/ProgramData/MySQL/MySQL Server 5.7/Data
E:/Program Files/MySQL/MySQL Server 5.7/Data
也不知道为什么会这么乱,尝试着来吧,
datadir设置第⼀个,重启服务成功,但是其他配置没⽣效;
第⼆个,重启服务成功,配置⽣效,但是竟然丢失部分表数据,why?
mysql下载之后是个文件夹第三个,重启服务成功,配置⽣效,数据正常。
说明datadir的值应该是数据库安装⽬录中data⽂件夹的路径,
另外两个应该是某位好⼼的同事重装或者删除数据库没整⼲净
发现⼀个,但是我的服务器上运⾏的系统⽐较多,⼗⼏个库,算了算了,能跑就⾏。。。。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。