本文为 Window10 环境下 ,MySQL 5.7 免安装版配置过程中,常见问题及报错处理记录日志。
解压免安装版 MySQL 程序后,在解压目录或bin目录下查找是否存在 ini 配置文件,不存在则创建(创建时确保保存时编码格式为UTF-8,否则后续操作会报错);配置文件内容大致如下:
[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
# 设置最大连接数
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账号随机密码:
mysqld --initialize --user=mysql --console # --user=数据库服务名
语句执行完毕后,可以在控制台中看到类似 A temporary password is generated for root@localhost:[此处为生成的随机密码]
。
输入以下命令,将 MySQL 服务安装到系统服务中
# mysql 为安装的数据库服务名
mysqld --install mysql --defaults-file="D:\tools\mysql-5.7.21-winx64\bin\my.ini"
如不需要安装服务,则执行以下命令
mysqld --defaults-file="my.ini 配置文件的路径"
如需删除已安装的服务,则执行以下命令
mysqld --remove [已安装服务名] # 如: mysqld --remove mysql
# 或
sc delete [已安装服务名] # 如: sc delete mysql
安装好的服务,可以在系统服务中找到。
已安装服务,可以使用以下命令启动 MySQL 数据库
net start [已安装服务名] # 如: net start mysql
停止 MySQL 数据库服务,则执行以下命令
net stop [已安装服务名] # 如: net stop mysql
执行 net start mysql
启动服务后,执行命令 mysql -u root -p
进行root账号登录,根据提示输入初始密码,登录成功后,执行以下命令修改用户密码
set password for [用户名]@localhost = password('[新密码]');
# 如: set password for root@localhost = password('newPassword');
如未记录初始密码,尝试以下方式处理:
可以删除data目录进行重新安装配置
忘记密码处理
参看:免安装版MySQL安装完成后登陆1045错误处理
mysqld --install
命令执行时报错,此错误为权限不足导致。
解决方式:
mysqld --initialize-insecure
初始化时报错,此错误是由于未安装 vcredist (Visual C++ Redistributable Packages 安装运行时组件)导致。
解决方式:
mysqld --initialize-insecure
。mysqld: [ERROR] Found option without preceding group in config file D:\tools\mysql-5.7.21-winx64\bin\my.ini at line 1!
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
折腾好久,最终发现还是 my.ini 文件的编码格式错误(为 UTF-8 with bom 格式)
解决方式:
mysqld: Can't create directory 'D:\work\tools\mysql-5.7.21-winx64\data\' (Errcode: 2 - No such file or directory)
此报错,是因为 my.ini 配置文件中 basedir
和 datadir
路径配置问题,如此处报错路径为 : D:\work\tools\mysql-5.7.21-winx64\data\
(即配置文件中配置的路径) ,而实际MySQL路径为:D:\tools\mysql-5.7.21-winx64\data\
解决方式:
basedir
和 datadir
路径为本地MySQL解压的新路径net start
命令启动 MySQL 服务时报错,此问题是因为 MySQL 的 ini 配置文件,可能是使用 UTF-8 with bom 模式保存导致。
解决方式:
参看:免安装MySQL启动3534错误处理
此报错为 my.ini 配置文件内错误
解决方式: