I originally thought that installing and configuring mysql on Mac would be a very simple matter, but I encountered a lot of trouble in the process. It took almost two hours to solve the problem. The purpose of writing this article is to hope that everyone can quickly install and configure mysql on Mac and avoid detours!
How to install mysql on Mac?
Of course you use Homebrew. As for what Homebrew is and how to install Homebrew, please go to the Homebrew official website. After successfully installing Homebrew, run the following command to install mysql:
brew install mysql
After the installation is complete, you can use the following command to view the mysql installation information:
brew info mysql
The detailed installation information is as follows:
You can see a red behind cmake under Dependencies small cross, use the following command to reinstall cmake:
brew unlink cmake brew install cmake
Check the mysql installation information again, and you can find that the red small cross has turned into a green small check, indicating that the dependency problem has been solved:
The problem is here!
When I thought mysql had been installed successfully and used mysql -uroot to connect to the database, the following error occurred:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (62)
Check the system cache folder, and there is no mysql.sock file underneath. There are some posts on the Internet that say to find or create my.conf and then modify the path of mysql.sock. I tried it for a long time and found that it didn’t work at all! Then I calmed down and thought about it, and I felt that there was no mysql.sock file in the system cache folder (/tmp). It should be that it was not successfully generated, so why was it not successfully generated? After checking around, I found a post saying that the basic table was not created, so I used mysql_install_db to create the basic table, but the following error occurred:
ERROR! The server quit without updating PID file (/usr/local/var/mysql/xxx.local.pid).
Inexplicably, it said that the PID could not be updated successfully. Where are the files? I browsed the Internet for a long time, and there was a post saying that you can kill the mysql process first, and then do whatever you want. After trying it for a long time, I found that it still didn't work! After suffering for a long time, I finally saw an expert's advice in a reply to a post, saying that I can check the mysql error log. The command to check the mysql error log is as follows:
cat /usr/local/var/mysql/xxx-mini.local.err
You can ignore the [note] and [warning] in the log. It, I directly found [error] which is the error message:
You know what the problem is! It turns out that the lack of read and write permissions caused trouble! Use dscl . list /Users | grep my to find out that the username of mysql in the mac is _mysql, and then modify the owner of the mysql folder:
sudo chown _mysql -R /usr/local/var/mysql/
You’re done! Use sudo mysql.server start to see Starting MySQL .. SUCCESS!, which means that mysql has started normally!