windows10安装mysql(解压版)初始化报错

windows10安装mysql(解压版)初始化报错,第1张

方法/步骤

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')

一、我们一般的连接步骤如下:

1、在MyEclipse中连接MySQL数据库:依次点击window-->show view-->other-->MyEclipse Database-->DB Browser

2、选中DB Browser,右键单击,并选择New一个数据连接的菜单,新建一个MySQL连接,在d出的新窗口中填入相应的信息

3、然后点击Finish,完成此次 *** 作,却得到了如下图所示的错误信息,尝试多次也无法连接,为了验证用户名和密码是否正确,我们在MySQL终端尝试输入该用户和密码

二、解决方法:

最终在终端使用“select * from mysql.user”命令查询用户表的时候,结果返回却只有root一个用户,然后将MyEclipse中MySQL连接中的User name改成root就能连接成功了。

参考资料

MyEclipse连接MySQL数据库报错解决办法.脚本之家[引用时间2017-12-29]

错误原因是:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限。

于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程mysql数据库的访问权限。

首先远程连接进入服务器,在cms中输入mysql -u root -p,然后回车,输入密码后回车进入mysql命令行。

输入use mysql

输入select user,password,host from user

可以看到host中只有localhost主机。我们需要将xxx.xxx.xxx.xxx也添加到这里才对。

添加方法如下:

输入

grant all privileges on *.* to root@"xxx.xxx.xxx.xxx" identified by "密码"

这相当于是给IP-xxx.xxx.xxx.xxx赋予了所有的权限,包括远程访问权限。

然后再输入

flush privileges

这相当于是重新加载一下mysql权限,这一步必须有。

再次输入select user,password,host from user

可以看到host中已经有了新加的IP。

现在再次用Navicat for MySQl访问远程mysql数据库,已经能正常打开了。

问题解决。

不过还有一个问题,发现双击打开某张表的时候很慢,至少要3秒。

原因是:

当远程访问mysql时, mysql会解析域名, 所以会导致访问速度很慢, 会有2,3秒延时!

解决办法:

修改mysql安装目录下的my.ini,加上下面这个配置可解决此问题。在[mysqld]下加入:skip-name-resolve

保存退出后重启mysql服务。

然后访问速度就和本地一样快啦。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7423609.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存