版本:5.7.18mysql
下載地址: https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.18-macos10.12-x86_64.tar.gzsql
平臺版本:macos10.12.3macos
第一步:清理以前的mysql安裝痕跡,須要執行如下命令vim
執行命令 sudo rm -rf /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* sudo rm -rf ~/Library/PreferencePanes/My* sudo rm -rf /Library/Receipts/mysql* sudo rm -rf /Library/Receipts/MySQL* sudo rm -rf /var/db/receipts/com.mysql.* 文件操做 vim /etc/hostconfig (將MYSQLCOM=-YES-這一行刪除)
第二步:清理/usr/local/下的mysql命令,這些命令有優先的執行權,若是不刪除的話會影響以後命令環境配置bash
sudo rm /usr/local/bin/mysql* sudo rm /usr/local/bin/my_print_defaults sudo rm /usr/local/bin/myisam* sudo rm /usr/local/bin/perror sudo rm /usr/local/bin/replace sudo rm /usr/local/bin/resolve_stack_dump sudo rm /usr/local/bin/resolveip sudo rm /usr/local/bin/msql2mysql
第三步:解壓縮mysql-5.7.18-macos10.12-x86_64.tar.gz文件,並將其中的內容放入/usr/local/mysql/目錄下app
第四步:給新生成的mysql設置權限,這會影響mysql的初始化流程是否走通,因爲我是在作開發環境,因此我將其權限設置爲最大this
sudo chmod -R 777 /usr/local/mysql
第五步:初始化mysql,執行如下命令.net
cd /usr/local/mysql/bin ./mysqld --initialize --user=mysql
輸出結果爲
code
2017-04-20T10:15:41.408826Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-04-20T10:15:41.411759Z 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive 2017-04-20T10:15:41.412785Z 0 [Warning] One can only use the --user switch if running as root 2017-04-20T10:15:41.819065Z 0 [Warning] InnoDB: New log files created, LSN=45790 2017-04-20T10:15:41.902064Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2017-04-20T10:15:41.971616Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 4f1bc424-25b2-11e7-ba18-1ea9f4cc2140. 2017-04-20T10:15:42.023595Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2017-04-20T10:15:42.038661Z 1 [Note] A temporary password is generated for root@localhost: 2=rvdin9kp6E
這時須要記錄root@localhost: 2=rvdin9kp6E這一信息,2=rvdin9kp6E是mysql隨機生成的root的初始密碼,待會須要根據該密碼重置root的密碼cdn
在這一步可能會出現錯誤
mysqld: Can't change dir to '/usr/local/mysql/data/' (Errcode: 2 - No such f....
這是須要在/usr/local/mysql目錄下建立子目錄data
第六步:啓動mysql
cd /usr/local/mysql/support-files ./mysql.server start
第七步:設置環境變量
vi ~/.bash_profile
而後在文件的最後一行添加
export PATH=$PATH:/usr/local/mysql/bin
而後經過如下命令使環境變量生效
source ~/.bash_profile
第八步:重置root密碼
mysqladmin -u root -p password root
此處會提示輸入密碼,將剛纔mysql生成的初始密碼輸入就好了,執行完後,root帳號的密碼就會被設置爲root
第九步:登陸mysql
mysql -u root -p
而後輸入剛剛重置的密碼root,就能登陸mysql了
第十步:設置mysql自啓動
添加mysql自啓動腳本
sudo vi /Library/LaunchDaemons/com.mysql.mysql.plist
添加以下信息
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/D TDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>KeepAlive</key> <true/> <key>Label</key> <string>com.mysql.mysqld</string> <key>ProgramArguments</key> <array> <string>/usr/local/mysql/bin/mysqld_safe</string> <string>--user=root</string> </array> </dict> </plist>
而後加載該腳本
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist