方法/步骤
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服务。
然后访问速度就和本地一样快啦。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)