没有mac的root密码,当前用户有sudo权限.所以想以root身份执行的命令都加了sudo
#是否存在_mysql用户和用户组,并查看用户_mysql是不是用户组_mysql的成员
bogon:mysql5.6 luna$ dscl . -list /Users|grep _mysql
bogon:mysql5.6 luna$ dscl . -list /Groups|grep _mysql
bogon:mysql5.6 luna$ dsmemberutil checkmembership -U _mysql -G _mysql
#从官方文档的阐述,安装mysql只需要依赖用户来运行,并不需要登录.所以认为安装时,有一个非登录的用户就可以了
bogon:3 luna$ cd /Volumes/3
bogon:3 luna$ cp /Volumes/2/develop/mysql-5.6.11-osx10.7-x86_64.tar.gz .
bogon:3 luna$ tar -xf mysql-5.6.11-osx10.7-x86_64.tar.gz
bogon:develop luna$ mv mysql-5.6.11-osx10.7-x86_64 /Volumes/3/mysql5.6
bogon:3 luna$ cd mysql5.6/
bogon:mysql5.6 luna$ sudo chown -R _mysql .
bogon:mysql5.6 luna$ sudo chgrp -R _mysql .
bogon:mysql5.6 luna$ sudo scripts/mysql_install_db --user=_mysql --datadir=/Volumes/3/mysql5.6/data
bogon:mysql5.6 luna$ sudo chown -R root .
bogon:mysql5.6 luna$ sudo chown -R _mysql data
bogon:mysql5.6 luna$ sudo vim my.cnf
#开启日志并调整下
log_bin = mysql-bin
max-binlog-size = 10M
expire_logs_days = 3
#根据输出日志作的添加选项
explicit_defaults_for_timestamp
lower_case_table_names = 2
#根据实际进行修改,最后user=_mysql参数只能由root用户来启动才有效.非root用户可使用sudo
basedir = /Volumes/3/mysql5.6
datadir = /Volumes/3/mysql5.6/data
port = 3306
server_id = 1
socket = /Volumes/3/mysql5.6/mysql.sock
user = _mysql
#使用脚本管理(start|stop|restart|reload|force-reload|status)mysql
bogon:mysql5.6 luna$ sudo cp support-files/mysql.server mysql
bogon:mysql5.6 luna$ sudo vim mysql
#把东东都放到这目录,方便以后删除(运行时没发现生成锁文件)
basedir=/Volumes/3/mysql5.6
datadir="$basedir/data"
lock_file_path="$basedir/mysql_lock"
mysqld_pid_file_path="$basedir/mysql.pid"
#_mysql身份运行要在当前目录写入socket文件,所以给组加写权限
bogon:mysql5.6 luna$ sudo chmod g+w .
#sudo mysql start是错误的,因为它去$path找mysql命令
bogon:mysql5.6 luna$ sudo ./mysql start
#检查是否运行
bogon:mysql5.6 luna$ ps -U _mysql
#第一次登录空密码,其它的与linux区别不大了.
bogon:mysql5.6 luna$ bin/mysql -h 127.0.0.1 -u root -p