首先检查brew状态:
brew doctor 确认brew在正常工作
brew update 更新版本
brew install mysql 安装mysql
上述三条命令执行完之后install mysql时如果出现git相关报错就将报错中的提示命令cv执行一遍再重新执行brew install mysql即可
ubantu使用apt:
apt update;
apt install mysql-server;
安装成功之后默认不需要密码输入mysql -uroot即可登录到mysql
因为mysql8的用户密码认证策略由mysql_native_password变成了caching_sha2_password会导致nodejs的mysql模块启动报错 mysql还不支持mysql8的最新认证策略
修改mysq8认证策略同时设置密码且设置允许登录的用户为所有用户:
UPDATE mysql.user SET host='%' WHERE user='root' AND host='localhost'; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的新密码'; FLUSH PRIVILEGES;
%指的就是任何ip主机都能使用root登录 修改策略成功后再使用如下命令查看:
select user,plugin from user where user='root' ;
此时密码策略已经修改成功
设置root用户能在任何远程主机上连接数据库的任何表 能进行任何操作(默认是只允许当前localhost连接)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
使用Navicat等可视化工具通过ssh方式连接mysql时需要配置mysql监听的ip,默认是只监听本机ip,只能本机连接数据库
找到/etc/mysql/mysql.conf.d/mysqld.cnf 这个配置文件里写了mysql的基本设置,我们找到如下一行并注释掉:
# bind-address=127.0.0.1
重启mysql服务
这样就能用可视化工具远程连接mysql了