LinuxでのMySQLインストール完全ガイド|Ubuntu & CentOSの手順とエラー解決法

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’」というエラーが発生する場合、次の対処法を試してください。

  1. 正しいパスワードの使用
    パスワードが間違っていないか確認します。特に、rootユーザーのパスワードを間違えると、このエラーが発生します【25†source】。
  2. rootパスワードの再設定
    もしパスワードが分からなくなった場合は、セーフモードでMySQLを起動し、パスワードを再設定します。
sudo mysqld_safe --skip-grant-tables &
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
  1. ポート設定の確認
    MySQLがデフォルトポート3306でリスニングしているか確認し、問題があればポートを修正します。
SHOW VARIABLES LIKE 'port';

必要に応じてポートを変更し、MySQLを再起動してください。

7. まとめ

Linux環境におけるMySQLのインストール手順と基本操作について、UbuntuおよびCentOSそれぞれの手順を解説しました。さらに、エラー1045のような一般的な問題に対するトラブルシューティング方法も紹介しました。この記事を参考に、MySQLを正しくインストールし、スムーズに運用できるようにしてください。