沒有mac的root密碼,目前使用者有sudo許可權,所以想以root身份執行的命令都加了sudo。
是否存在 _mysql 使用者和使用者組,並查看使用者 _mysql 是不是使用者組 _mysql 的成員。
把解壓後的代碼移動到 /usr/local/mysql 目錄。
#切換到 /usr/local/mysql 目錄
cd /usr/local/mysql
#是否存在_mysql使用者和使用者組,並查看使用者_mysql是不是使用者組_mysql的成員
$ dscl . -list /Users|grep _mysql
$ dscl . -list /Groups|grep _mysql
$ dsmemberutil checkmembership -U _mysql -G _mysql
# 從官方文檔的闡述,安裝mysql只需要依賴使用者來運行,並不需要登入。所以認為安裝時,有一個非登入的使用者就可以了
$ sudo chown -R _mysql .
$ sudo chgrp -R _mysql .
$ sudo ./scripts/mysql_install_db --user=_mysql --datadir=/usr/local/mysql/data
$ sudo chown -R root .
$ sudo chown -R _mysql ./data
# 修改設定檔
#開啟日誌並調整下
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 = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
server_id = 1
user = _mysql
#使用指令碼管理(start|stop|restart|reload|force-reload|status)mysql
$ sudo cp support-files/mysql.server mysql
$ sudo vim mysql
#把東東都放到這目錄,方便以後刪除(運行時沒發現產生鎖檔案)
basedir=/usr/local/mysql
datadir="$basedir/data"
lock_file_path="$basedir/mysql_lock"
#_mysql身份運行要在目前的目錄寫入socket檔案,所以給組加寫入權限
$ sudo chmod g+w .
#sudo mysql start是錯誤的,因為它去$path找mysql命令
$ sudo ./mysql start
#檢查是否運行
$ ps -U _mysql
#第一次登入空密碼,其它的與Linux區別不大了
$ bin/mysql -h 127.0.0.1 -u root -p
#初始化 MySQL root 密碼
./bin/mysqladmin -u root password 123456