在mac下安裝mysql二進制分發版的方法(不是dmg的)
2020-10-18 13:40:38
供稿:網友
沒有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