windows10安装mysql(解压版)初始化报错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows10安装mysql(解压版)初始化报错相关的知识,希望对你有一定的参考价值。
win10系统,已安装了mysql8。安装mysql5.7解压版,在初始化时报错,是什么原因?cmd使用的是管理员权限,install 命令可正常注册服务,只有在初始化时(--initialize)报错。
方法/步骤
1
压缩包安装方式
从官网上下载mysql-5.7.18-winx64.zip,将其解压,接下来的安装是通过命令来安装MySQL数据库的。
(1)mysql-5.7.18-winx64.zip解压到D:\\文件下,解压目录如下:
(2)配置环境变量
编辑path系统变量,将%MYSQL_HOME%\\bin添加到path变量后,如果是里面含有多个,请添加到最后,以分号;为分隔符
Path:
;D:\\mysql-5.7.18-winx64\\bin
(3)(如果不是管理员的请打开命令提示符以管理员身份运行),运行cmd命令行窗口,cd到D:\\mysql-5.7.18-winx64\\bin下
命令为:cd /d D:\\mysql-5.7.18-winx64\\bin
(3)安装MySQL
mysqld install,运行命令后报错,提示“无法启动此程序,因为计算机中丢失MSVCR120.dll。尝试重新安装该程序已解决问题”
解决方案:上网下载MSVCR120.dll文件,放在C:\\Windows\\System32文件夹中,或者去C:\\Windows\\System32 ,查找一下MSVCR120.dll文件,我的电脑发现了msvcr120_clr0400.dll 这个文件,所以复制一份副本,然后改了一下副本的文件名即可。
同时还需要msvcp120.dll这个文件,请没有的筒靴一并处理了。
有的电脑可能安装某种程序,是不会有提示的。因为这些文件已经存在。
(4)继续运行命令:
mysqld install 成功安装mysql服务
(5)启动MySQL服务。
net start mysql将启动MySQL服务。值得注意的是用命令安装的MySQL在Windows系统下默认服务名为mysql,默认密码为空。
-------运行结果:报错
解决方案:cmd命令行提供的错误消息有限,所以我们需要找到mysql的错误日志,分析日志进而得出是什么问题。
进D:\\mysql-5.7.18-winx64目录下,创建一个文件夹data目录用以存放日志。
然后重新运行 net start mysql,来生成日志文件。
D:\\mysql-5.7.18-winx64\\data文件夹中生成的文件中,有一个文件名是以.err后缀的文件,这个就是报错信息日志,我的电脑上PC-201511181234.err,前面是计算机的名字。
(6) 查看日志文件
用uedit64 打开PC-201511181234.err ,发现有如下的错误
2017-06-28T09:21:53.475478Z 0 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
......
2017-06-28T09:21:53.595485Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
2017-06-28T09:21:53.598485Z 0 [ERROR] Aborting
....
原因分析:没有一个初始化数据库,不能启动mysql守护进程。
(7) 初始化数据库--建立配置文件my.ini和删除data目录
删除掉D:\\mysql-5.7.18-winx64目录下的data目录。否则运行初始化数据库命令也会报错。
新建一个文件名字:my.ini放到bin目录,文件内容:
[mysqld]
basedir=D:\\mysql-5.7.18-winx64 ----mysql安装的目录
datadir=D:\\mysql-5.7.18-winx64\\data -----mysql下data目录
(如果不放my.ini到bin目录,运行初始化数据库命令就会报错:
2017-06-28T09:32:22.326446Z 0 [ERROR] --initialize specified but the data direct
ory exists and is not writable. Aborting.
)
(8) 初始化数据库
命令行执行: mysqld --initialize --user=mysql --console
先执行以上命令, 生成库. 注意有个临时密码, 要记下来.
最后一行:loaclhost:moMlyqX#j6Ky,其中moMlyqX#j6Ky这个就是临时密码,你登陆mysql数据库的时候需要用到。
(9) 启动服务
net start mysql----启动mysql服务
net stop mysql----停止mysql服务
如果不运行服务,直接进入mysql,会报错:
(8) 进入MySQL并修改密码
mysql -u root -p,密码为moMlyqX#j6Ky。显示“mysql>”表示进入MySQL
修改密码:
mysql>set password = password('root')
MySQL解压版安装步骤(Windows)
MySQL解压版安装步骤(Windows)
重要的事情说三遍:
注:如果是系统已安装过mysql,且有配置环境变量的话,介意先把环境变量删掉,否则后面登录也许会出现报登录失败的问题。
注:如果是系统已安装过mysql,且有配置环境变量的话,介意先把环境变量删掉,否则后面登录也许会出现报登录失败的问题。
注:如果是系统已安装过mysql,且有配置环境变量的话,介意先把环境变量删掉,否则后面登录也许会出现报登录失败的问题。
- 解压mysql安装包,解压后的文件夹即为安装目录,如D:\\mysql-8.0.11-winx64
- 在安装目录下新建配置文件my.ini,其内容参考如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口,端口号可自定义,只不过要与之前版本不冲突
port = 3306
# 设置mysql的安装目录
basedir=D:\\MySQL\\mysql-5.7.31-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\MySQL\\mysql-5.7.31-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#default-time_zone 默认时区,可以不设置,但是为使用now()方便,建议设置
default-time_zone = '+8:00'
# 解决分组查询的问题
sql_mode ='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'
-
在安装目录下建立文件夹data
-
在以管理员身份运行cmd命令窗口(注意一点要管理员模式的命令行,否则可能出现权限不足的提示)
-
在命令窗口进入安装目录下的bin目录,命令示例如下:
d:
cd \\mysql-8.0.11-winx64\\bin
- 运行如下命令,该命令将初始化mysql,并在控制台输出信息,同时生成一个临时密码在控制台上显示,请将临时密码记住
mysqld --initialize --console
- 运行如下命令,安装mysql服务,服务名为MySQL,服务名字可修改,但是不能与其他版本同名,
mysqld --install MySQL
- 运行如下命令启用mysql服务
net start MySQL
-
运行如下命令,以root身份和临时密码登录数据库
注:如果安装了两个mysql的情况下,安装mysql8 时,
登录应该在输: mysql -P3306 -uroot -p 回车后显示输入密码,输入临时密码,即可完成登录 -
登入mysql后运行如下命令,修改root密码,修改自己想要设置的密码
set password=‘xxxxx’;
最后退出登录,重新登录就可以使用新的密码了。
附录
1.停止mysql服务:net stop mysql
2.卸载mysql服务:mysqld remove [mysql服务名] (以管理员身份运行的cmd命令窗口,并进入安装目录下的bin目录)
以上是关于windows10安装mysql(解压版)初始化报错的主要内容,如果未能解决你的问题,请参考以下文章