👼
はじめてのRDS作成+MySQLでの操作
AWSではじめてRDS(MySQL)を作成し、pythonコードでMySQLを操作したので備忘録を残します。
EC2へのmysqlのインストール
sudo dnf -y localinstall https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
sudo dnf -y install mysql mysql-community-client
Complete!とでれば完了
[root@ip-10-30-175-167 ~]# mysql --version
mysql Ver 8.0.39 for Linux on x86_64 (MySQL Community Server - GPL)
私の環境ではGPG check Failedが出力されました
GPG key更新
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
dnf upgrade -y
と実施してから
sudo dnf -y install mysql mysql-community-client
をするときちんとinstallできました
RDSインスタンスの作成
DBサブネットグループの作成
どこにDBを作成するか設定するために必要です。
RDSの作成
使用するDBを選択する
さきほど作成した既存のサブネットグループを選択する
接続するEC2インスタンスを選択する
EC2上からのmysqlにアクセスする
mysql -u <user_name> -p -h <host_name>
pythonコードからはtableを作成するため、database(名前:test)を先に作成しておきます
CREATE DATABASE test;
SHOW DATABASES;
EC2上のpythonコードからmysqlを操作する
コードはbing aiから作成しました☺
<rds_endpoint>:RDS作成後に取得できます
<user_name>:RDS作成時に設定したマスターユーザー名。defaultはadminです
<password>:RDS作成時に設定したpassword
<database_name>:SQLコマンドで作成したDATABASEの名称(今回はtest)
import mysql.connector
# Connect to MySQL
conn = mysql.connector.connect(
host="<rds_endpoint>",
user="<user_name>",
password="<password>",
database="<database_name>"
)
cursor = conn.cursor()
# Create table with columns
table_name = "large_table_1018"
columns = ", ".join([f"col{i} INT" for i in range(1, 1018)])
create_table_query = f"CREATE TABLE {table_name} ({columns})"
cursor.execute(create_table_query)
conn.commit()
print(f"Table {table_name} created with 1017 columns.")
# Close the connection
cursor.close()
conn.close()
pipとmysql-connector-pythonをインストールする
実行する前に必要なライブラリをインストールします
yum -y install python-pip
pip install mysql-connector-python
実行するとカラムに最大のカラム数である1017が生成されています!
Discussion