1. MySQLとは?
MySQLは、オープンソースのリレーショナルデータベース管理システム(RDBMS)であり、特にWebアプリケーションのバックエンドで広く使用されています。主にPHPやPythonなどのプログラミング言語と組み合わせて使用されることが多く、無料で利用できるオープンソースソフトウェアとして、世界中で広く支持されています。
MySQLの主な特徴:
- オープンソースで無料:個人でも商業用途でも自由に使用できます。
- 高いパフォーマンス:大規模なデータ処理を効率的に行うことができ、信頼性が高い。
- スケーラビリティ:小規模から大規模まで、柔軟にスケールさせることが可能。
本記事では、Linux環境(UbuntuおよびCentOS)におけるMySQLのインストール手順を詳しく解説し、基本的な操作方法と一般的なエラーの対処法についても紹介します。
2. 事前準備:Linuxの環境設定
MySQLをインストールする前に、Linuxシステムが最新の状態であることを確認することが重要です。システムが最新でない場合、依存関係や互換性の問題が発生することがあります。
2.1 システム要件の確認
MySQLのインストールを行う際に必要な基本的な要件は次の通りです:
- メモリ:512MB以上(推奨1GB以上)
- ディスク容量:最低500MB以上
- OSバージョン:Ubuntu 20.04以降、CentOS 7以降
2.2 システムのアップデート
インストールをスムーズに進めるために、システムのパッケージを最新の状態にしておくことが推奨されます。次のコマンドを実行して、パッケージをアップデートします。
- Ubuntuの場合:
sudo apt update && sudo apt upgrade -y
- CentOSの場合:
sudo yum update -y
3. MySQLのインストール方法:Ubuntuの場合
3.1 APTリポジトリを使用したインストール
MySQLをAPTリポジトリを通じてインストールします。以下のコマンドでMySQLサーバーをインストールします。
sudo apt install mysql-server -y
3.2 セキュリティ設定の強化
インストール後、mysql_secure_installation
コマンドを実行してセキュリティを強化します。このコマンドでは、rootアカウントのパスワード設定や、不要なデフォルト設定の無効化などが行えます。
sudo mysql_secure_installation
3.3 MySQLの起動とステータス確認
MySQLのサービスが正常にインストールされたか確認し、サービスを起動します。以下のコマンドで確認できます。
sudo systemctl start mysql
sudo systemctl status mysql
4. MySQLのインストール方法:CentOSの場合
4.1 Yumリポジトリの設定
CentOSでは、公式MySQLリポジトリを追加する必要があります。次のコマンドを実行してリポジトリを設定します。
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
4.2 MySQLのインストール
リポジトリを設定した後、以下のコマンドを使ってMySQLをインストールします。
sudo yum install mysql-community-server
4.3 MySQLの起動と自動起動設定
MySQLのインストール後、サービスを起動し、システム起動時に自動的にMySQLが起動するように設定します。
sudo systemctl start mysqld
sudo systemctl enable mysqld
5. 基本的な操作
MySQLがインストールされた後、基本的な操作を行ってデータベースを作成したり、ユーザーを管理できます。
5.1 MySQLへのログイン
MySQLにログインするには、次のコマンドを実行します。
mysql -u root -p
5.2 データベースの作成
新しいデータベースを作成するには、以下のコマンドを使用します。
CREATE DATABASE example_db;
作成したデータベースが正しく作成されているかを確認するには、以下のコマンドを実行します。
SHOW DATABASES;
5.3 ユーザー作成と外部アクセスの許可
新しいユーザーを作成し、外部からのアクセスを許可するために、必要な権限を付与します。
CREATE USER 'new_user'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'%';
6. トラブルシューティング
6.1 MySQLエラー1045: Access Denied
MySQLにログインしようとした際に「ERROR 1045: Access denied for user ‘root’@’localhost’」というエラーが発生する場合、次の対処法を試してください。
- 正しいパスワードの使用:
パスワードが間違っていないか確認します。特に、root
ユーザーのパスワードを間違えると、このエラーが発生します【25†source】。 - rootパスワードの再設定:
もしパスワードが分からなくなった場合は、セーフモードでMySQLを起動し、パスワードを再設定します。
sudo mysqld_safe --skip-grant-tables &
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
- ポート設定の確認:
MySQLがデフォルトポート3306でリスニングしているか確認し、問題があればポートを修正します。
SHOW VARIABLES LIKE 'port';
必要に応じてポートを変更し、MySQLを再起動してください。
7. まとめ
Linux環境におけるMySQLのインストール手順と基本操作について、UbuntuおよびCentOSそれぞれの手順を解説しました。さらに、エラー1045のような一般的な問題に対するトラブルシューティング方法も紹介しました。この記事を参考に、MySQLを正しくインストールし、スムーズに運用できるようにしてください。