Mac下brew安装mysql

安装

brew install mysql
brew install mysql@版本号(安装具体版本)
mysql --version 查看是否安装成功
复制代码

安装成功后如下图所示

image2021-10-18_10-17-47.png

启动和关闭MySQL服务

sudo mysql.server start
复制代码

image2021-10-18_10-20-44.png

`sudo mysql.server stop`
复制代码

image2021-10-18_10-23-37.png

配置root用户

MySQL有自己的用户体系,默认用户是root账户,没有密码。可以通过下列命令来设置密码

mysqladmin -u root password 
New password: 
Confirm new password: Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.`
复制代码

包括mysqladmin在内,其他的mysql需要指明用户的时候加 -u username,如果用户添加过密码,需要使用-p指令,所以如果已经设置过root用户的密码之后再修改密码,后面就需要加-p,否则按照前面的就会报错,报错信息如下:

image2021-10-18_10-26-30.png

使用root用户连接数据库

默认情况下免密登陆

mysql -u root

有密码的话输入如下命令

mysql -u root -p
复制代码

image2021-10-18_10-30-56.png

退出MySQL

exit;

image2021-10-18_10-31-19.png

完全删除mysql(mac)

ps -ax | grep mysql
# stop and kill any MySQL processes
brew remove mysql
brew cleanup
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/var/mysql
sudo rm -rf /usr/local/mysql*
sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
# 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*
# restart your computer just to ensure any MySQL processes are killed
# try to run mysql, it shouldn't work

复制代码

上述命令执行时可能会遇到一些问题:

  • 在启动时保存无法启动 尝试加上sudo
  • sudo还不行的话可能是mysql对一些文件夹没有权限,尝试以下命令
sudo chown -R _mysql /usr/local/var/mysql
sudo chmod -R o+rwx /usr/local/var/mysql
复制代码

连接MySQl过程中遇到的一些问题

问题一:Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

报错原因:mysql8.0以上加密方式,Node还不支持。

解决方案:

打开MySql命令行终端输入(sql是我本地登录MySql的账号)

  1. alter user 'root'@'localhost' identified with mysql_native_password by 'sql';
  2. flush privileges;

然后就解决了,如果不行的话可以考虑下载个低版本的mysql

说明:

flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。经常用在改密码和授权超用户

问题2:  ERROR! The server quit without updating PID file (/usr/local/var/mysql/XX.local.pid)

解决方案:

  1. 输入命令:sudo chown -R _mysql /usr/local/var/mysql
  2. 再次重启:sudo mysql.server restart
分类:
前端
标签: