MyUtils

View on GitHub

MySQLについてまとめる

MySQLとは

MySQLは、オープンソースのリレーショナルデータベース管理システム(RDBMS)であり、世界中で広く使用されています。MySQLは、データの保存、管理、およびアクセスを効率的に行うための機能を提供し、Webアプリケーションや企業のデータベースシステムなど、さまざまな用途で利用されています。

他のDBと比べてメリット・デメリット

メリット

  1. オープンソース: MySQLは無料で利用でき、コミュニティによってサポートされています。
  2. 高性能: MySQLは高速なクエリ処理と効率的なデータ管理を提供します。
  3. スケーラビリティ: MySQLは大規模なデータベースをサポートし、複数のユーザーが同時にアクセスできます。
  4. 豊富な機能: MySQLはトランザクション、レプリケーション、ストアドプロシージャなどの高度な機能を提供しています。
  5. 広範なサポート: MySQLは多くのプラットフォームで利用でき、豊富なドキュメントとコミュニティサポートがあります。

デメリット

  1. 商用サポートの制限: MySQLはオープンソースであるため、商用サポートが制限されることがあります。
  2. 機能の制限: MySQLは一部の高度な機能が他のRDBMSに比べて制限されていることがあります。
  3. セキュリティの懸念: MySQLは適切に設定されないと、セキュリティの脆弱性が存在する可能性があります。
  4. 大規模データの処理: MySQLは大規模なデータセットの処理において、他のRDBMSに比べてパフォーマンスが低下することがあります。
  5. 複雑なクエリの処理: MySQLは複雑なクエリの処理において、他のRDBMSに比べて効率が低下することがあります。

DockerFile

# Cmmmand to build the image:
# docker build -t dev/mysql -f Dockerfile.MySQL .
From mysql


# Set environment variables for MySQL
ENV MYSQL_ROOT_PASSWORD=rootpassword
ENV MYSQL_DATABASE=mydatabase
ENV MYSQL_USER=admin
ENV MYSQL_PASSWORD=password

# Expose the default MySQL port
# EXPOSE 3306:3306

# Copy the SQL initialization script to the container
# COPY init.sql /docker-entrypoint-initdb.d/

# Start the MySQL server
# mysql -u admin -ppassword -h localhost  -P 53306 --protocol=tcp
CMD ["mysqld"]
# dev/mysql イメージをビルドするためのコマンド
docker build -t dev/mysql -f Dockerfile.MySQL .

# -p 53306:3306 はホストの 53306 番ポートをコンテナの 3306 番ポートに転送するように指定しています。
docker run -d -p 53306:3306 --name mysql-container dev/mysql