今天在安装一个压缩包mysql-5.7.19时,碰到了一系列问题,现将这些问题罗列出来:
一. ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
解压后,把"D:\Program\mysql-5.7.19-winx64\bin"配置到环境变量path下,在cmd中执行登录操作: mysql -u root -p时,出现这个问题:
二. 发生系统错误 2. 系统找不到指定的文件
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
services
MySQL
ImagePath
我的默认值是C:\Program Files\MySQL\MySQL Server 5.7\mysqld,找到该路径,并没有发现有MySQL文件,我们将它改为D:\Program\mysql-5.7.19-winx64\bin\mysqld,这个是我真正安装MySQL的路径,来,再试一下
瞬间尴尬了,我们找到控制面板--管理工具--服务,决定去启动它时,发现:
三. 服务没有任何错误。 请键入 NET HELPMSG 3534 以获得更多的帮助
感谢此文作者https://blog.csdn.net/yulutian/article/details/78971369,让我迷途知返,由于我的mysql根目录下没有data目录和my.ini配置文件,于是新建了一个my.ini,内容为:
注意:这里面要提一句,basedir=后面是你安装的mysql的bin目录所在的路径!
[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysqld]#设置3306端口
port= 3306# 设置mysql的安装目录
basedir=D:\\Program\mysql-5.7.19-winx64
# 允许最大连接数
max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8
# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB
好,这下子我们按照作者说的,不要新建data目录,而是让mysql自动生成,在cmd中执行
这下看似好了,实际还有一个问题
四. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:yes)
参照这篇文章https://blog.csdn.net/keepd/article/details/77151006,找到一个方法,就是在my.ini配置文件中最后一行添加:
skip-grant-tables
保存,然后在cmd中执行
登录musql
mysql-u root
此处注意不要加-p
修改密码,mysql5.7用此语法usemysql ;update mysql.user set authentication_string=password('123456') where user='root';
回到第二步骤去掉加上的,保存
skip-grant-tables
退出
exit
重启mysql服务
net stop mysql
net start mysq
哎,这时候才可以了,看了我一个多小时,以后还是少用压缩版。