今天在安装一个压缩包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时,出现这个问题:
在网上搜索资料,查到https://blog.csdn.net/lianzhang861/article/details/78919060,解决方案是: mysqld --install, 安装完net start mysql
二. 发生系统错误 2. 系统找不到指定的文件
这下又貌似行不通了,https://jingyan.baidu.com/article/4e5b3e19245cec91901e24bc.html,这个答案告诉我们要修改注册表
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用此语法 use mysql ; update mysql.user set authentication_string=password('123456') where user='root' ; 回到第二步骤去掉加上的,保存 skip-grant-tables
退出
exit
重启mysql服务
net stop mysql
net start mysq
哎,这时候才可以了,看了我一个多小时,以后还是少用压缩版。