...
Excerpt |
---|
There are some differences in between Mac and Linux(CentOS) for my.cnf and some command line interfaces. There are two different approach to install MySQL on MAC: 1) Install by dmg file can download at https://www.mysql.com/downloads/ and 2) installing by brew. I will talk about the installation based on brew here. |
Install MySQL by brew
If you face any error when you run below command line, you will need to install brew.
Code Block |
---|
sudo brew install mysql |
If you want to allow connection from external servers, you need to modify /usr/local/Cellar/mysql/8.0.19/homebrew.mxcl.mysql.plist and bind-address=0.0.0.0 as following:
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>homebrew.mxcl.mysql</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/mysql/bin/mysqld_safe</string>
<string>--datadir=/usr/local/var/mysql</string>
<string>--bind-address=0.0.0.0</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>/usr/local/var/mysql</string>
</dict>
</plist>
|
MySQL server I used is 8.0.19, so the directory path for homebrew.mxcl.mysql.plist could be different than mineFor your information, below is based on MySQL 8 and Mac OS X.
If you need to modify my.cnf, you will need to create it by vi /etc/my.cnf
Code Block |
---|
# # created by Chun Kang 2020-03-09 # based on the guide at https://confluence.atlassian.com/doc/database-setup-for-mysql-128747.html # [client] port=3306 socket=/tmp/mysql.sock [mysqld] port=3306 bind-address=0.0.0.0 skip-name-resolve character-set-server=utf8mb4 collation-server=utf8mb4_bin default-storage-engine=INNODB max_allowed_packet=256M innodb_log_file_size=2GB transaction-isola-isolation=READ-COMMITTED binlog_format=row default_time_zone='+09:00' max_connections=4096 |
Start MySQL
Code Block |
---|
sudo /usr/local/mysql/support-files/mysql.server start brew services start mysql |
Stop MySQL
Code Block |
---|
sudo /usr/local/mysql/support-files/mysql.server stopbrew services stop mysql |
Restart MySQL
Code Block |
---|
sudo /usr/local/mysql/support-files/mysql.server restart brew services restart mysql |
Set root access permission from all hosts
Code Block |
---|
cd /usr/local/mysql/bin mysql -u root -p mysql |
...
Code Block |
---|
update set host='%' from user where user='root';
flush; |
If everything is okay, you can check it as following
...