Windows操作系统中,当我们在安装Mysql数据库服务器的时候,通常有两个选择:一是去官方网站下载Mysql -installer.exe,利用windows系统安装程序的方法按部就班的来安装;二是去软件社区下载mysql绿色免安装版,解压出来就能立即使用。
以上两种方式都可以顺利在电脑上装好Mysql服务器,然而有的用户使用免安装版时,没有通过正确的配置来启动mysql服务器,会出现的问题是 当我们想修改数据库的配置信息如 wait_timeout、interactive_timeout、max_connections 时,却找不到my.ini 配置文件。mysql根目录下只有my_default.ini 文件,打开这个my_default.ini文件,似乎也可以配置信息。
当我们在这份default.ini文件里修改完配置,重启数据库后,却哭着发现新修改的配置没有起作用。虽然这时,还可以通过命令行来修改配置信息,但重启mysql后修改会实效,配置会回归默认值,命令行修改的方式治标不治本。不能作为解决办法,怎么办呢?
这里为大家提供了另一种方法,或许可以解决上面描述的问题,也就是你可能当下正遇到的麻烦。解决的基本思路是,首先删除Mysql服务,接着新建一份my.ini文件,最后使用命令行重新初始化mysql服务,同时指定新建的my.ini作为服务默认的配置文件。以下是详细步骤:
1.删除Mysql服务,打开命令行,输入下面的指令
sc delete MySql
"MySql"为服务名称,你的MysSql服务不一定是这个名称,可以打开services.msc查看
2.在Mysql根目录下,新建my.ini文件,在文件内输入一下内容
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci 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, else 10%. 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. basedir = D:MySQLmysql5.7 datadir = D:MySQLmysql5.7data 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_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
上面的basedir 和 datadir 根据你的mysql的位置进行修改
3.以管理员身份启动命令行,将工作路劲切换到 Mysql目录下的bin文件夹,如我的是 C:Program FilesMySQLMySQL Server 5.7in。接着执行下面的命令
mysqld --initialize
此命令的目的是初始化data目录
4. 接着再执行下面的命令
mysqld --install MySQL --defaults-file="C:MySQLMySQL Server 5.7my.ini“
此命令执行完后,会重新初始化Mysql服务,同时指定了配置文件为C:MySQLMySQL Server 5.7my.ini 文件,也就是我们新建的文件。之后在这份my.ini文件里修改myql的属性,重启服务就可以了。