--- title: "MySQL サーバイメージのユーザーガイド" slug: "database-database-1-1" tags: ["MySQL"] updated: 2026-09-17T09:23:38Z published: 2026-09-17T09:23:38Z canonical: "guide.ncloud-docs.com/database-database-1-1" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # MySQL サーバイメージのユーザーガイド Classic/VPC環境で利用できます。 ## Ncloud MySQL 設置型サービス紹介 NAVERクラウドプラットフォームNcloud MySQL設置型サービスの概念と基本的な構造を説明します。 NAVERクラウドプラットフォームは、世界で最も一般的なオープンソースリレーショナルデータベース(RDBMS)MySQLをサポートしています。 ### MySQL 世界で最も人気があり、最も多く使われるオープンソースベースのリレーショナルデータベースシステム(Relational Database Management System、以下RDBMS)です。他のRDMBSと同様にデータベースを作成して、テーブル、コラム単位の構造を使って、レコード単位のデータを照会・変更・追加・削除します。別のGUIを提供せず、主にCLI(Command Line Interface)を用いて管理し、GUIベースの管理のためにMySQLで提供されるWorkbenchやThird Party-Toolを使用します。 2008年SunがMySQL ABを買収した後、2010年にOracleがSunを買収し、現在MySQLEnterprise/ Community Versionのすべての権利は、Oracleが所有しています。 NAVERクラウドで提供されるNcloud MySQL設置型サービスでは、MySQL Community Edition(GPL)を提供してBasic Installレベルの既設の画像をサポートします。 ### NAVERクラウドプラットフォームNcloud MySQL設置型サービスの構成 #### 設置型サービス NAVERクラウドでサポートしているNcloud MySQL設置型サービスの場合、DBのインストールについて円滑な運用基準を提示する環境ファイルを提供し、DBの状態がわかるCLI形態のモニタリングBinaryを含むMySQL DaemonにStartup状態までサポートします。これに関連して**DBのインストール以外の部分については、技術サポートはしていません**。 #### RPM/APT MySQLのインストール方法には、Source Compileインストール方法、RPM/ APTのインストール方法、Binaryのインストール方法があり、NAVERクラウドでは、Normal Install方法である(RPM APT)のインストールイメージを提供します。RPM(APT)で使用される.repoファイルは、MySQLで公式的に提供するファイルを使ってインストールを行い、Repoで提供されるLatest Versionを基本に、サーバのイメージに入れて提供します。 CentOS 7.x with MySQLで使用するRPMのインストールパッケージは、以下のように構成されます。 MySQLのインストール及び実行に関連してOS Default設定で追加インストールされるパッケージです。 - mysql-server - mysql-devel - libmysqlclient-dev - build-essential #### APT Install Ubuntu14.X/16.X with MySQLで使用されるAPTでインストールするパッケージは、以下のように構成されます。 MySQLのインストール及び実行に関連してOS Default設定で追加インストールされるパッケージです。 - mysql-server - libmysqlclient-dev #### Recommanded Parameters (5.6/5.7 共通) NAVERクラウドプラットフォームのNcloud MySQLインストールイメージで標準化されたRecommanded Parameterは、以下のように構成されています。 - innodb_file_per_table - innodb_log_file_size = 512M - innodb_log_files_in_group = 2 - default_storage_engine=InnoDB - query_cache_type = ON - query_cache_size = 0M - sysdate-is-now **innodb_file_per_table** InnoDBテーブルの作成時にInnoDB Global Tablespaceを使用すれば、テーブル削除時にすでに増えた物理サイズは小さくなりません。 innodb_file_per_tableオプションを使用すると、InnoDBテーブルの作成時にはテーブルごとにファイルを作成し、テーブルの削除時には該当ファイルが削除され、物理空間を確保することができます。 **Innodb_log_file_size/innodb_log_files_in_group** Heavy Trafficが入ってくる場合、CheckPointのためのボトルネックを回避するためにinnodb_log_file_sizeオプションを増やして設定します。該当Variablesを調整するためには、DB Restartが必要です。 **default_storage_engine** Online-DDL 及び Transction使用が可能なInnoDBで標準を指定します。 **query_cache_type/query_cache_size** DB起動後、query_cacheをユーザーが動的にON/ OFFできるようにON/0に設定します。以降のサービスの状況に合わせて調整します。 **sysdate-is-now** ysdateを使用している場合は、Replication構成でMaster-Slave間でのデータ処理時間が異なる場合、Time Typeデータが異なる場合があり、sysdateの場合は自動的にnowをreplaceします。 ## Ncloud MySQL 設置型サービスの管理 MySQL設置型サービスで関連する管理方法を説明します。 ### MySQL 画像サーバの生成 Ncloud MySQLがインストールされたインスタンスサーバを生成すると、以下のようにNAVERクラウドに標準化されたmy.cnfの環境を持つMySQL DaemonがStartupして生成された後、Daemonが起動してから提供されます。 #### my.cnf my.cnf의 Parameter説明は下記の通りです。 | 属性 | 説明 | | --- | --- | | expire_logs_days = 7 | log-binに設定されたログのサイズが大きくなることを防止するために7日間保存するようにします。 | | innodb_file_per_table | InnoDBテーブルの作成時にInnoDB Global Tablespaceを使用すれば、テーブルの削除時すでに増え、物理サイズは小さくなりません。 innodb_file_per_tableオプションを使用すると、InnoDBテーブルの作成時にはテーブルごとにファイルを作成し、テーブルの削除時には該当ファイルが削除され、物理空間を確保することができます。 | | innodb_log_file_size | Heavy Trafficが入ってくる場合、CheckPointのためのボトルネックを回避するためにinnodb_log_file_sizeオプションを増やします。 Variablesを調整するためには、DB Restartが必要。 | | iinnodb_log_files_in_group | innodb_log_fileの数を指定します。Rotationのために2つ以上を推奨します。 | | default_storage_engine | Online-DDL 及び Transction使用が可能な InnoDBで標準を指定します。 | | query_cache_type query_cache_size | DB起動後、query_cacheをユーザーが動的にON/ OFFできるようにON/0に設定します。以降のサービスの状況に合わせて調整します。 | | sysdate-is-now | sysdateを使用している場合は、Replication構成でMaster-Slave間でのデータ処理時間が異なる場合にTime Typeデータが異なる場合があり、sysdateの場合は自動的にnowをreplaceします。 | | log_timestamps = SYSTEM(5.7 only) | MySQL 5.7で LogTimeが UTCになっているため、SYSTEM Local TIMEに変更します。 | MySQLインストールされたディレクトリは、以下の通りです。 | 属性 | 説明 | | --- | --- | | DATADIR | /var/lib/mysql/ | | SLOW_LOG | /var/lib/mysql/*slow.log | | ERROR_LOG | /var/log/mysqld.log - CentOS /var/log/mysql/error.log - Ubuntu | | my.cnf | /etc/my.cnf - CentOS /etc/mysql/my.cnf - Ubuntu. | | sqlstatus_nCloud | /usr/bin/sqlstatus_nCloud | ## サーバ生成の手順 MySQLサーバ生成のプロセスは以下の通りです。 ### www.ncloud.com 接続及びLogin 1. 右上のコンソールを選択して、[コンソール](https://console.ncloud.com)にアクセスします。 2. コンソール画面で、サーバ生成を選択します。 ## サーバの生成 - [サーバ作成ガイド](/docs/ja/compute-compute-1-1-v2)を参考にしてサーバを作成します。 ### Step 1. サーバイメージの選択 ① DBMS > MySQL イメージを選択します。 ② OS Versionに該当するMySQL Versionをチェックした後、**[次へ]** ボタンを選択します。 ③ ポップアップウィンドウの案内を確認します。 ④ **[確認]** ボタンをクリックしてポップアップウィンドウを閉じます。 ### Step 2. サーバの設定 下記のようにサーバタイプと希望する料金制を選択します。 ### Step 3. 認証キーの設定 ユーザーの認証キーを選択します。 ### Step 4. ファイアウォールの設定 保有しているACGを選択するか、新規に作成します。 - [ACG使用ガイド](/docs/ja/compute-compute-2-3)を参考にして行います。 ### Step 5. 最終確認 選択された内容を確認した後、MySQLがインストールされたサーバを生成します。 ## サーバ接続の設定及び確認 ### ポートフォワーディングの設定 - [ポートフォワード利用ガイド](/docs/ja/server-manage-classic#%ED%8F%AC%ED%8A%B8%ED%8F%AC%EC%9B%8C%EB%94%A9%EC%84%A4%EC%A0%95)を参考にして行います。 1. サーバの生成後、上部の **[ポートフォワーディングの設定]** ボタンを選択します。 2. 下の画面のポートフォワーディング設定でssh接続のための外部ポートを登録します。 3. 外部ポートの登録後、**[追加]** を選択します。 4. **[適用]** をクリックします。 ### 管理者パスワードの確認 1. ポートフォワーディングの設定後、上部の **[サーバの管理と設定の変更]** ボタンを選択します。 2. 以後、ポップアップメニューから**管理者パスワードの確認**を選択します。 3. 管理者パスワードの確認ボックスから**ファイルの選択**の認証キーファイルを選択します。 4. **[パスワードの確認]** ボタンをクリックします。 5. 以降、画面に表示されたパスワードを認知します。 #### ターミナルを通じたサーバ接続 ターミナルプログラムを使用して下記のように接続します。 - PORT : ポートフォワーディングに設定したポート番号 - グローバルIP:ポートフォワーディング画面で案内されたサーバ接続用のグローバルIP - パスワード:管理者パスワードに現れたパスワード(最初のパスワードは必ず変更します。) ``` ssh -p [PORT] root@[グローバルIP] ``` #### サーバイメージの生成後 1. サーバの生成後、すぐに使用しない場合は、セキュリティリスクのために**MySQL Daemon**を**ShutDown**します。 2. 生成されたMySQLの場合は、パスワードが設定されていないため、**必ずパスワード設定**をしてください。 #### MySQL 起動・停止及び接続手順 - MySQL Daemonの起動及び停止は下記のようなコマンドで実行します。 - CentOS ``` shell> /sbin/service mysqld start shell> /sbin/service mysqld stop ``` - Ubuntu ``` Shell> /usr/sbin/service mysql start Shell> /usr/sbin/service mysql stop ``` - MySQL Daemonの駆動有無は、以下のようなコマンドで確認します。 ``` Shell> ps -ef | grep mysqld ``` - 結果: mysqld/mysqld のプロセスが表示されなければなりません。 - NAVERクラウドで生成したMySQLは、以下のコマンドで接続します。 ``` Shell> mysql -uroot ``` - MySQL Passwordポリシーに基づいて、最初のパスワードは指定されません。 - root Passwordの場合は設定しないので、セキュリティ侵害を防止するため**最初の接続時に必ずパスワードを変更します**。 - root パスワードは、以下のコマンドを使用して変更します。 - MySQL 5.6 ``` mysql> set password=password('パスワード'); ``` - MySQL 5.7 ``` mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'パスワード'; ``` - MySQL Built-in Password の基本ポリシーは下記の通りです。 - 最小の長さ 8文字以上 - 特殊文字1個以上 - 数字1個以上 - 大小文字の組み合わせ1個以上 #### MySQL 画像サーバの返却 NAVERクラウドでMySQLが生成されたサーバの返却時、以下の手順の後に返却することをお勧めします。 1. MySQLで保存したデータのバックアップ - バックアップされたデータの場合、Download以降、別途に保管 2. MySQL Daemonの停止 3. mysqlが保存されたData Directoryを削除 - 例: rm ‐rf /var/lib/mysql 4. NAVERクラウドコンソールから [停止]->[返却] 順に返却を行います。 #### MySQL 外部接続の許容 UbuntuでMySQLを使う場合、 Default ParameterによってLocalhostのみで接続可能です。従って、外部接続が可能になるように、下記の例でガイドします。 1. MySQL DB 接続 2. アカウント権限を付与例: GRANT ALL PRIVILEGES ON *.* to 'アカウント名'@'%' IDENTIFIED BY 'パスワード'; 3. 環境ファイルの修正例: sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 4. bind-address コメントアウト ![database-1-115_zh](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/database-1-115_zh.png?sv=2026-02-06&spr=https&st=2026-10-26T12%3A38%3A35Z&se=2026-10-26T13%3A38%3A35Z&sr=c&sp=r&sig=VTyyTqncns%2FXPIwY6h51uY2K%2BEkt0QQk1qYXvrhkSsw%3D) 5. MySQL 再スタート #### SQLSTATUS NAVERクラウドで提供されるNcloud MySQLサービスには、CLI(Command Line Interface)形式のモニタリングプログラムがあります。 - 該当プログラムは、**nCloud サーバ以外に、外部へ流出と任意に変更、または変調する場合を禁止**しています。 **概要** MySQLの内部の Statusを1秒単位に表示されるようにBinary形で提供します。 1秒間にMySQL StatusをDisplayしてReal-TimeでDBの変化を見ることができます。 **使用法** sqlstatus_nCloudで使用するアカウント生成(Defaultアカウントを含む) ``` GRANT PROCESS, SHOW DATABASES, SUPER, EXECUTE, REPLICATION CLIENT ON *.* TO 'sqlstatus_ncloud'@'127.0.0.1' IDENTIFIED BY PASSWORD '*AB9C7542BD3FE96F5342F2A616D030CF4494EB44'; ``` インストール経路 : /usr/bin/sqlstatus_nCloud 基本3306ポート使用時 : sqlstatus_nCloud 3306以外のユーザーのPortを使用時 : sqlstatus_nCloudのポート番号 使用しない場合、Defaultアカウントは削除しても構いません。(`DROP USER sqlstatus\_ncloud@127.0.0.1;`) **ユーザー画面** ![database-1-113_zh](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/database-1-113_zh.png?sv=2026-02-06&spr=https&st=2026-10-26T12%3A38%3A35Z&se=2026-10-26T13%3A38%3A35Z&sr=c&sp=r&sig=VTyyTqncns%2FXPIwY6h51uY2K%2BEkt0QQk1qYXvrhkSsw%3D) **モニタリン項目の説明** | 属性 | 説明 | | --- | --- | | Port | sqlstatus_nCloudで接続するDBのポート情報。 | | Time | モニタリン時間。 | | Conn | 現在DBに接続するConnection Count | | Run | DBにRunning中のThread Count 現在 DBでクエリを処理するThreadの数を表します。 | | Abort | DBに接続失敗するCount max_connection 数を超えるか、DBアカウントテーブルに登録されていないユーザーがアクセスする際の数を表示します。 | | Select | DBで処理するSELECT Count | | Update | DBで処理する UPDATE Count | | Insert | DBで処理する INSERT Count | | Delete | DBで処理する DELETE Count | | Replace | DBで処理する REPALCE Count | | Qcache | Query Cacheを通じて処理するクエリCount | | Call | Procedure/Functionを使用して処理するクエリCount | | QPS | DBで処理されたクエリのTotal Count | | Slave | Replication 構成されたSlaveDBの複製遅延時間 Replicationではない場合 Default 0に表示 | | user | CPU normal processes executing in user mode | | system | CPU processes executing in kernel mode | | iowait | CPU waiting for I/O to complete | | Slow_queries | long_query_timeで指定された数より長く実行されるクエリCount | | Sum | sqlstatusを実行した以後に生じたSlowQuery Count Default Parmeterは10秒で、下記のコマンドで変更可能です。(単位 Sec) mysql> set global long_query_time=1 |