版本:5.7.18
下载地址://Downloads/MySQL-5.7/mysql-5.7.18-macos10.12-x86_64.tar.gz
平台版本:macos10.12.3
第一步:清理之前的mysql安装痕迹,需要执行以下命令
执行命令
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命令,这些命令有优先的执行权,如果不删除的话会影响之后命令环境配置
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/目录下
第四步:给新生成的mysql设置权限,这会影响mysql的初始化流程是否走通,由于我是在做开发环境,所以我将其权限设置为最大
sudo chmod -R 777 /usr/local/mysql
第五步:初始化mysql,执行以下命令
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql
输出结果为
-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).
-04-20T10:15:41.411759Z 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
-04-20T10:15:41.412785Z 0 [Warning] One can only use the --user switch if running as root
-04-20T10:15:41.819065Z 0 [Warning] InnoDB: New log files created, LSN=45790
-04-20T10:15:41.902064Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
-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.
-04-20T10:15:42.023595Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
-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的密码
在这一步可能会出现错误
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
添加如下信息
KeepAlive
Label
com.mysql.mysqld
ProgramArguments
/usr/local/mysql/bin/mysqld_safe
--user=root
然后加载该脚本
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist