最近因为成本要毕业了,弄了个小系统,运行环境是node+mysql+navicat。
然而,安装这些东西对我一个前端来说是在费劲,几经周折。
一、navicat汉化
首先遇到的问题是我我对navicat不熟悉,因此我第一个想就是把它汉化。
这个比较简单,推荐Evan_Vivian的文章Navicat Premium 12之Mac、Windows双平台和谐汉化,里面有相应的百度网盘资源地址。之前看了另一个文章,内容类似,只是要求把压缩包一起放进Contents ---> Resources目录,然后我就发现我的navicat无法启动,不知道是版本问题,还是不能把压缩包放进去。(知道的同学可以在评论告知一声)
二、brew处理
这一步跟主要内容没啥关系,只是我通过brew安装MySQL时老是卡在Updating Homebrew这个环节,讲道理,我压根不关系brew升不升级,于是参考Harveyhhw的文章Mac 解决brew一直卡在Updating Homebrew,采用了第一个方法。提示下,输入了vim ~/.bash_profile后需要输入命令i 进入insert模式,才可以像普通编辑器一样操作。修改好了后按esc退出编辑模式,输入:wq(保存并退出)命令,ok。
三、安装MySQL
我的MAC上是有安装MySQL的,应该是通过安装包安装的,别人帮我装的,密码我忘了,于是我要先卸载掉已安装的。
执行以下命令:
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
edit /etc/hostconfig and remove the line MYSQLCOM=-YES-
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/mysql
然后(图是偷来的,别问我为什么。。。,因为我忘了截图)
OK,卸载完毕,特地看了/usr/local文件夹,已经没有MySQL文件夹了。
开始安装:在命令行输入brew search mysql(图也是偷的)
然后在输入:brew install mysql,这会直接安装最新的版本(有坑)
输入:mysql_secure_installation,然后设置密码(我为了安全,选了最严格的密码格式,这是个坑,后面会处理)
输入:mysql.server start(启动MySQL服务,另外停止命令是:mysql.server stop)
mysql启动成功信息截图:
尝试用navicat连接
1.点击连接
2.选择MySQL类型数据库
3.配置MySQL数据库
4.打开连接
配置好后,数据库会出现在左侧(我的数据库名称叫me),然后右键,打开连接
5.连接成功
连接成功后图标会变成彩色,会有四个初始化生成的库,截图里的tutu是我自己新增的。
ps:一定要启动MySQL成功后才能连接成功!!
6.新建自己的库
7.配置自己的数据库
8.导入自己的SQL文件(导入本地文件夹的SQL文件)
看到如下信息,成功!
然后再node项目的根目录打开命令行输入node ./app.js
命令行输入启动,表示成功
四、MySQL密码导致的问题
第一次运行,就报错了
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
百度一下,是因为我安装的MySQL8.0+以上版本较高,最新的加密方式node还不支持,然后又是各种找处理方法,最终参考下河捉鱼的mysql8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements这个文章处理了。
ps:1.要执行以上文章命令,需要通过命令行进入MySQL命令模式:sodu mysql -u root -p(参数u不能少,输入命令后会要求先输入本机管理员密码,在输入MySQL密码)
ps:2.但是文章因为我们要连接navicat,所以文章最后设置密码的命令是不同的,
把上面截图的命令稍作修改
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY'你的密码';
然后重新启动,连接数据库,启动node项目,OK!完成