今回は、MySQLをmacにインストールする方法をメモしておこうと思います。
他のツールと同様に、homebrewを利用してインストールしました。
homebrewのインストールについては、以下を参照頂ければと思います。
また、インストールの他に、よく使うMySQLのコマンドもまとめてメモしました。
随時追記していきたいと思います。
更新履歴
- 2024/1/5 MySQL自動起動設定(RedHat系)、自動起動設定確認(RedHat系) 追記
- 2024/1/5 MySQLインストール RedHat系 追記
- 2024/1/5 データベース作成 追記
- 2024/1/5 port番号指定方法 追記
- 2024/1/5 サービス再起動 追記
- 2024/1/5 ステータス確認 追記
- 2024/1/5 ユーザー一覧確認 追加
- 2024/1/7 パスワード変更 追記
- 2024/1/7 ユーザー権限確認 追記
1. MySQLインストール
・Mac
macでは、MySQLをインストールする方法として色々とありますが、
homebrewを利用すると簡単にインストールできます。
brew install mysql
・RedHat系(CentOSなど)
yum -y install mysql-server
2. 各種コマンド
・バージョン確認
mysql --version
・インストール情報確認
brew info mysql
brew infoを利用すると、
インストールした初回時にどうすれば良いかなどのアドバイスが載っているので、
参考に頂ければと思います。
・MySQLサービス開始
mac
mysql.server start
RedHat系
systemctl start mysqld
service mysqld start
・MySQLサービス終了
mac
mysql.server stop
RedHat系
systemctl stop mysqld
service mysqld stop
・サービス再起動
mac
mysql.server restart
RedHat系
service mysql restart
・ステータス確認
RedHat系
systemctl status mysqld
・ルートユーザーでログイン(パスワードなし)
インストール直後でユーザーが存在しない場合、rootでログインを行います。
mysql -uroot
・ログイン(ユーザー名指定、パスワード有り)
既にユーザーを作成済みの場合、ユーザー名を指定してログインします。
mysql -u ユーザー名 -p;
・ユーザー作成
create user 'ユーザー名'@localhost identified by 'パスワード';
・ユーザー一覧確認
現状のユーザーを一覧で確認する場合は、以下のクエリで確認できます。
SELECT Host, User FROM mysql.user;
・ユーザー権限設定
以下は、DatabaseとTableを制限なしで作成可能な、
グローバルレベルでのアクセス権限の設定コマンドです。
grant create on *.* to '対象ユーザー名'@localhost;
・ユーザー権限確認
SHOW GRANTS FOR 'ユーザー名'@'ホスト名';
例. SHOW GRANTS FOR ‘root’@’localhost’;
・パスワード変更
ログイン中のユーザーのパスワードを変更する場合は、ユーザー名等を指定せずに変更できます。
SET PASSWORD = 'パスワード';
ユーザー名等指定
SET PASSWORD FOR ユーザー名@ホスト名 = 'パスワード'
ALTER 指定
ALTER USER 'ユーザ名'@'ホスト名' IDENTIFIED BY 'パスワード';
設定リロード
FLUSH PRIVILEGES;
https://dev.mysql.com/doc/refman/8.0/ja/resetting-permissions.html
・データベース作成
CREATE DATABASE データベース名
・ログアウト
exit
・ホスト名確認
MySQLに接続した状態で、以下のコマンドを入力すると、接続中のホスト名を確認することが出来ます。
show variables like 'hostname';
・ポート番号設定
MySQLのポート番号は、my.cnfという設定ファイルで行います。
my.cnfは、複数配置が可能で、配置場所に応じて読み込み優先順位が異なります。
Unix系とLinux系は、以下となります。
- “/etc/my.cnf”
- “/etc/mysql/my.cnf”
- “SYSCONFIGDIR(コンパイル時指定)/etc/my.cnf”
- “$MYSQL_HOME(環境変数)/my.cnf”
--defaults-extra-file
オプションで指定したファイル- ”~/.my.cnf”
以下のコマンドでも優先順位を確認できます。
mysql --help | grep my.cnf
2行目以降の出力内容が、優先順位順です。(左側から優先)
my.cnfのポートの指定は以下の様に行います。
# mysqldセクション: mysqlサーバーへの設定
[mysqld]
port=3306
my.cnfの内容を変更したら、MySQLのサービスを再起動して反映させます。
・ポート番号確認
show variables like 'port';
・MySQL自動起動設定
ホストOSが再起動した際などに、自動的に起動する様にする設定です。
sudo systemctl enable mysql.service
・MySQL自動起動 設定状態確認
現状の自動起動の設定を確認するコマンドです。
RedHat系
systemctl list-unit-files | grep mysql
enable:自動起動ON、disable:自動起動OFF
・セキュア設定
mysql_secure_installation
3. 参考情報
以上となります。
テーブル作成などの作業もよく発生するので、
少しづつメモしておこうと思います。