从 win 换到 Mac 之后, 安装软件变得很简单.
记录一下 Mac 使用 Homebrew 安装 mysql 5.7 过程.
前置版本信息:
Mac 版本: macOS Catalina 10.15.5
? ~ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.5
BuildVersion: 19F101
Homebrew 版本: Homebrew 2.4.16
? ~ brew -v
Homebrew 2.4.16
Homebrew/homebrew-core (git revision a8b99e; last commit 2020-09-07)
Homebrew/homebrew-cask (git revision 82268; last commit 2020-09-07)
shell 使用 zsh, 不同于默认 bash 的地方是修改环境变量需要在 ~/.zshrc 中
? ~ echo $SHELL
/bin/zsh
安装过程:
1?? 命令行输入: brew install mysql@5.7
? ~ brew install mysql@5.7
==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/bottles/openssl%401.1-1.1.1
Already downloaded: /Users/dooo/Library/Caches/Homebrew/downloads/481d133d3a092002cce3b6712b83f591b0c87903001f1fc26f30c12c9fea325e--openssl@1.1-1.1.1g.catalina.bottle.tar.gz
==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/bottles/mysql%405.7-5.7.31.
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/14ae8121e150830abdf81c06028a0
######################################################################## 100.0%
==> Installing dependencies for mysql@5.7: openssl@1.1
==> Installing mysql@5.7 dependency: openssl@1.1
==> Pouring openssl@1.1-1.1.1g.catalina.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in/usr/local/etc/openssl@1.1/certsand run/usr/local/opt/openssl@1.1/bin/c_rehashopenssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
because macOS provides LibreSSL.If you need to have openssl@1.1 first in your PATH run:echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrcFor compilers to find openssl@1.1 you may need to set:export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"==> Summary
? /usr/local/Cellar/openssl@1.1/1.1.1g: 8,059 files, 18MB
==> Installing mysql@5.7
==> Pouring mysql@5.7-5.7.31.catalina.bottle.tar.gz
==> /usr/local/Cellar/mysql@5.7/5.7.31/bin/mysqld --initialize-insecure --user=dooo --ba
==> Caveats
We've installed your MySQL database without a root password. To secure it run:mysql_secure_installationMySQL is configured to only allow connections from localhost by defaultTo connect run:mysql -urootmysql@5.7 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.If you need to have mysql@5.7 first in your PATH run:echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrcFor compilers to find mysql@5.7 you may need to set:export LDFLAGS="-L/usr/local/opt/mysql@5.7/lib"export CPPFLAGS="-I/usr/local/opt/mysql@5.7/include"To have launchd start mysql@5.7 now and restart at login:brew services start mysql@5.7
Or, if you don't want/need a background service you can just run:/usr/local/opt/mysql@5.7/bin/mysql.server start
==> Summary
? /usr/local/Cellar/mysql@5.7/5.7.31: 319 files, 232.4MB
==> Caveats
==> openssl@1.1
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in/usr/local/etc/openssl@1.1/certsand run/usr/local/opt/openssl@1.1/bin/c_rehashopenssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
because macOS provides LibreSSL.If you need to have openssl@1.1 first in your PATH run:echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrcFor compilers to find openssl@1.1 you may need to set:export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"==> mysql@5.7
We've installed your MySQL database without a root password. To secure it run:mysql_secure_installationMySQL is configured to only allow connections from localhost by defaultTo connect run:mysql -urootmysql@5.7 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.If you need to have mysql@5.7 first in your PATH run:echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrcFor compilers to find mysql@5.7 you may need to set:export LDFLAGS="-L/usr/local/opt/mysql@5.7/lib"export CPPFLAGS="-I/usr/local/opt/mysql@5.7/include"To have launchd start mysql@5.7 now and restart at login:brew services start mysql@5.7
Or, if you don't want/need a background service you can just run:/usr/local/opt/mysql@5.7/bin/mysql.server start
2?? 配置环境变量
Homebrew 安装默认路径是: /usr/local/Cellar/
mysql bin 目录: /usr/local/Cellar/mysql@5.7/5.7.31/bin (找自己对应路径)
vim ~/.zshrc
export PATH=${PATH}:/usr/local/Cellar/mysql@5.7/5.7.31/bin
重新执行刚修改的初始化文件: source ~/.zshrc
3?? 命令行输入: mysql.server start, 启动 mysql 服务
? ~ mysql.server start
Starting MySQL
. SUCCESS!
4?? 命令行输入: mysql_secure_installation, 修改密码
? ~ mysql_secure_installationSecuring the MySQL server deployment.Connecting to MySQL using a blank password.VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?Press y|Y for Yes, any other key for No: N
Please set the password for root here.New password: 输入密码,回车Re-enter new password: 再次输入,回车
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.Disallow root login remotely? (Press y|Y for Yes, any other key for No) : N... skipping.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y- Dropping test database...
Success.- Removing privileges on test database...
Success.Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.All done!
5??安装成功, mysql -u root -p 进入mysql:
? ~ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.7.31 HomebrewCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
至此, 完成.