问题1:
Error: connect ECONNREFUSED 127.0.0.1:3306 at TCPConnectWrap.afterConnect ...
一番谷歌,解决方法大概有这么几种:
- 你丫以为不用装 MySQL 就能跑了么?快去装数据库!
- 你数据库运行了么你?赶紧 /etc/init.d/mysqld start 运行起来
- 端口写错了
- 你是不是开启了 skip-networking 这个选项?Remove it !
然后发现,哦,我是第一个问题。我以为在终端运行了
node install mysql --save
就可以了,Mac系统现在默认不安装MySQL,需要自己下载安装。
MySQL 下载
我下载的是MySQL的-8.0.15-macos10.14-x86_64.dmg
这个网址翻墙会比较快
之后下载成功后,一系列傻瓜式点击下一步。然后就出现了问题2。
问题2
node ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
解决方法:安装的时候修改密码强度:默认的为强密码模式,手动选择下面一个宽松模式
Mac机修改:在系统偏好设置中点击MySql,然后点击初始化。
选择“Use Legacy Password Encryption”,点击OK即可。
问题3
Mac找不到mysql命令
执行mysql -u root -p
命令,
- 在home下的.bash_profile中添加export PATH=${PATH}:/usr/local/mysql/bin(确认路径正确)
- 然后调用source ~/.bash_profile使配置生效
- 这时如果还有问题:Access denied for user 'gemo'@'localhost' (using password: NO)
则重启Mysql服务即可。
执行命令之后,输入安装时设置的密码123456(我自己连接数据库的密码)。即进入MySQL编辑界面。在这个界面可以进行数据库的增删改查操作。
问题4
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp...
这个是查之前的问题,在nodejs代码创建数据库连接中添加了socket字段导致的,我删除之后就可以了。
问题5
mysql connnected
[SELECT ERROR] - ER_NO_DB_ERROR: No database selected
需要创建数据库test。mysql -u root -p
进入数据库操作界面创建新的数据库test
即可。
问题6
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show databases' at line 2
对于像我这样的新手来说,MySQL数据库,在命令行使用sql语句进行建库,查库,建表,查表。。。时,MySQL 这样报错。当我知道报错原因之后,就很想笑了。
其实这个问题就是语法上的错误。回头仔细检查一下语法编写,然后在执行命令就好了。
例如我这里,其实是输入了一条命令,因为没有这个命令的,导致报错。
解决办法:
输入一行,而且末尾加上反引号即可。
在MySQL中,为了区分MySQL的关键字与普通字符,MySQL引入了一个反引号,注意检查编写sql,保证没有语法错误就OK了
注意:退出一条命令:control+C
问题7
ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password:YES
之前还遇到这个问题,是因为我在终端直接进行mysql
的相关命令。mysql
命令需要进入MySQL命令界面才可以。mysql -u root -p
命令进入。