MySQL 5.7 免安装版配置问题记录

本文为 Window10 环境下 ,MySQL 5.7 免安装版配置过程中,常见问题及报错处理记录日志。

配置文件

解压免安装版 MySQL 程序后,在解压目录或bin目录下查找是否存在 ini 配置文件,不存在则创建;配置文件内容大致如下:

[mysql]
# 设置MySQL客户端默认端口
port=3306
# 设置MySQL客户端默认字符集
character_set_server=utf8
default-character-set=utf8

[mysqld]
#登录忽略登录检查
#skip_grant_tables
# 设置MySQL默认端口
port=3306
# 设置MySQL安装目录
basedir=D:/tools/mysql-5.7.21-winx64
# 设置MySQL数据存放目录
datadir=D:/tools/mysql-5.7.21-winx64/data
# 设置MySQL默认字符集
character_set_server=utf8
default-character-set=utf8
# 去除NO_ZERO_IN_DATE,NO_ZERO_DATE模式  避免默认时间为‘0000-00-00 00:00:00’时的1067报错  (修改后重启未起效,原因未知)
sql-mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
# 设置最大连接数
max_connections=200
# 创建新表时使用的默认存储引擎
default-storage-engine=INNODB
# 缓存 innodb 表的索引,数据,插入数据时的缓冲 默认为 128M 
innodb_buffer_pool_size = 256M
query_cache_type=1
# MySQL 的查询缓存,最少设置 15M
query_cache_size=32M

[client]
character_set_server=utf8
default-character-set=utf8

配置环境变量

# 新增变量(指定本地MySQL路径,用于后续切换版本)
MYSQL_HOME=D:\tools\mysql-5.7.21-winx64
# PATH中新增变量 
%MYSQL_HOME%\bin

数据库初始化及root账号密码生成

命令管理器(管理员模式)中,执行以下语句,进行数据库初始化并生成root账号随机密码:

mysqld --initialize --user=mysql --console

语句执行完毕后,可以在控制台中看到类似 A temporary password is generated for root@localhost:[此处为生成的随机密码]

image-20200523154349075

配置服务

输入以下命令,将 MySQL 服务安装到系统服务中

mysqld --install mysql --defaults-file="D:\tools\mysql-5.7.21-winx64\bin\my.ini"

如不需要安装服务,则执行以下命令

mysqld --defaults-file="my.ini 配置文件的路径"

如需删除已安装的服务,则执行以下命令

mysqld --remove [已安装服务名]
# 或
sc delete [已安装服务名]

安装好的服务,可以在系统服务中找到。

启动和停止

已安装服务,可以使用以下命令启动 MySQL 数据库

net start [已安装服务名]

停止 MySQL 数据库服务,则执行以下命令

net stop [已安装服务名]

修改密码

执行 net start mysql 启动服务后,执行命令 mysql -u root -p 进行root账号登录,根据提示输入初始密码,登录成功后,执行以下命令修改用户密码

# set password for [用户名]@localhost = password('[新密码]');
set password for root@localhost = password('newPassword');

如未记录初始密码,尝试以下方式处理:


常见问题记录

忘记密码处理

参看:免安装版MySQL安装完成后登陆1045错误处理


错误解决记录

Install/Remove of the Service Denied

mysqld --install 命令执行时报错,此错误为权限不足导致。

解决方式:

  • 用管理员模式运行命令行窗口后重试即可。

由于找不到 MSVRC120.dll,无法继续执行代码。

image-20200507215223674

mysqld --initialize-insecure 初始化时报错,此错误是由于未安装 vcredist (Visual C++ Redistributable Packages 安装运行时组件)导致。

解决方式:

  • 下载安装 vcredist 后,重新在命令行中尝试命令 mysqld --initialize-insecure

MySQL 服务无法启动。请键入 NET HELPMSG 3523 以获得更多的帮助。

net start 命令启动 MySQL 服务时报错,此问题是因为 MySQL 的 ini 配置文件,可能是使用 UTF-8 with bom 模式保存导致。

解决方式:

  • 用文本编辑器(如,Sublime Text、nodepad++等)打开配置文件后,以 UTF-8 编码格式保存即可。

MySQL 服务无法启动。请键入 NET HELPMSG 3534 以获得更多的帮助。

参看:免安装MySQL启动3534错误处理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章