版本: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