📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
細 文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This pag… |
|||
| (同じ利用者による、間の12版が非表示) | |||
| 1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
<br><br> | |||
== データベースの選択 == | |||
ログイン後、データベースを選択する。<br> | |||
<syntaxhighlight lang="mysql"> | |||
USE <データベース名>; | |||
</syntaxhighlight> | |||
<br> | |||
MySQLサーバの接続時において、<code>mysql</code>コマンドのオプションにデータベース名を指定することにより、予めデータベースを選択することができる。<br> | |||
mysql -u <ユーザ名> -p <データベース名> | |||
<br><br> | |||
== データベースの作成 == | |||
==== 文字コード ==== | |||
データベースの作成時において、文字コードを指定する。<br> | |||
<syntaxhighlight lang="mysql"> | |||
CREATE DATABASE <データベース名> | |||
CHARACTER SET=utf8mb4 -- 文字コードをutf8mb4に指定する場合 | |||
</syntaxhighlight> | |||
<br> | |||
MySQLのデフォルトの文字コードを確認する。<br> | |||
<syntaxhighlight lang="mysql"> | |||
Show Variables Like "chara%"; | |||
</syntaxhighlight> | |||
<br> | |||
* character_set_client | |||
*: クライアント側で発行したSQL文はこの文字コードになる。 | |||
* character_set_connection | |||
*: クライアントから受け取った文字をこの文字コードへ変換する。 | |||
* character_set_database | |||
*: 現在参照しているDBの文字コード | |||
* character_set_results | |||
*: クライアントへ送信する検索結果はこの文字コードになる。 | |||
* character_set_server | |||
*: DB作成時のデフォルトの文字コード | |||
* character_set_system | |||
*: システムの使用する文字セットのことであり、utf8やutf8mb3が使用される。 | |||
<br> | |||
MySQLのデフォルトの文字コードを設定する場合は、my.cnfファイルを編集する。<br> | |||
<u>my.cnfファイルを変更した後は、MySQLを再起動する必要がある。</u><br> | |||
<syntaxhighlight lang="ini"> | |||
# my.cnfファイル | |||
[mysqld] | |||
character-set-server=utf8mb4 # MySQLサーバのデフォルトの文字コードを指定する | |||
[client] | |||
default-character-set=utf8mb4 # MySQLクライアントのデフォルトの文字コードを指定する | |||
</syntaxhighlight> | |||
<br> | |||
既存のデータベースの文字コードは、INFORMATION_SCHEMAデータベースのSCHEMATAテーブルから確認することができる。<br> | |||
<syntaxhighlight lang="mysql"> | |||
SELECT SCHEMA_NAME,DEFAULT_CHARACTER_SET_NAME | |||
FROM INFORMATION_SCHEMA.SCHEMATA | |||
WHERE SCHEMA_NAME = '<データベース名>'; | |||
</syntaxhighlight> | |||
<br> | |||
既存のデータベースの文字コードを変更する。<br> | |||
<syntaxhighlight lang="mysql"> | |||
ALTER DATABASE <データベース名> | |||
[[DEFAULT] CHARACTER SET <文字コード>] | |||
[[DEFAULT] COLLATE <照合順序>] | |||
# 例: 文字コードはutf8mb4, 照合順序はutf8mb4_general_ci | |||
ALTER DATABASE <データベース名> | |||
CHARACTER SET utf8mb4 | |||
COLLATE utf8mb4_general_ci; | |||
</syntaxhighlight> | |||
<br> | |||
==== 既存のデータベースの存在を確認して作成 ==== | |||
既存のデータベースが存在していない場合はデータベースを作成する。<br> | |||
これは、データベースの重複、または、既存のデータベースを上書き/削除することを防ぐことができる。<br> | |||
CREATE DATABASE IF NOT EXISTS <データベース名> | |||
CHARACTER SET=utf8mb4 | |||
<br> | |||
==== データベースの暗号化 ==== | |||
暗号化プラグインが必要である。<br> | |||
なお、MySQL8では標準で暗号化プラグインがインストールされている。<br> | |||
CREATE DATABASE IF NOT EXISTS <データベース名> | |||
CHARACTER SET=utf8mb4 | |||
ENCRYPTION='Y' -- 暗号化を有効にする場合 | |||
-- 無効にする場合は、Nを指定する | |||
<br><br> | <br><br> | ||
| 62行目: | 145行目: | ||
このクエリは、サーバの照合順序に関する情報を表示する。<br> | このクエリは、サーバの照合順序に関する情報を表示する。<br> | ||
デフォルトの照合順序は、<code>collation_server</code>として表示される。<br> | デフォルトの照合順序は、<code>collation_server</code>として表示される。<br> | ||
<br> | |||
==== 既存のデータベースの照合順序を確認する ==== | |||
データベースの照合順序は、INFORMATION_SCHEMAデータベースのSCHEMATAテーブルから確認することができる。<br> | |||
<syntaxhighlight lang="mysql"> | |||
SELECT SCHEMA_NAME, DEFAULT_COLLATION_NAME | |||
FROM INFORMATION_SCHEMA.SCHEMATA | |||
WHERE SCHEMA_NAME = '<データベース名>'; | |||
</syntaxhighlight> | |||
<br> | |||
==== 既存のデータベースの照合順序を変更する ==== | |||
データベースの照合順序を変更する。<br> | |||
<syntaxhighlight lang="mysql"> | |||
ALTER DATABASE <データベース名> | |||
[[DEFAULT] CHARACTER SET <文字コード>] | |||
[[DEFAULT] COLLATE <照合順序>] | |||
ALTER DATABASE <データベース名> | |||
CHARACTER SET utf8mb4 | |||
COLLATE utf8mb4_general_ci; | |||
</syntaxhighlight> | |||
<br><br> | |||
== データベースの削除 == | |||
<u><code>DROP DATABESE</code>文により削除したデータベースは、復元することができないことに注意すること。</u><br> | |||
<syntaxhighlight lang="mysql"> | |||
DROP DATABASE <データベース名>; | |||
-- または | |||
DROP DATABASE IF EXISTS <データベース名> | |||
</syntaxhighlight> | |||
<br><br> | <br><br> | ||
== データベースの確認 == | |||
MySQLに存在する全てのデータベースを確認する。<br> | |||
<syntaxhighlight lang="mysql"> | |||
SHOW DATABASES; | |||
</syntaxhighlight> | |||
<br> | |||
現在使用しているデータベースを確認する。<br> | |||
<syntaxhighlight lang="mysql"> | |||
USE <データベース名>; | |||
SELECT DATABASE(); | |||
</syntaxhighlight> | |||
<br><br> | |||
== データベースのバージョンの確認 == | |||
現在使用しているデータベースのバージョンを確認する。<br> | |||
<syntaxhighlight lang="mysql"> | |||
USE <データベース名>; | |||
SELECT VERSION(); | |||
</syntaxhighlight> | |||
<br><br> | |||
== データベースのバックアップ == | |||
==== 全てのデータベースのバックアップ ==== | |||
mysqldump -u root -p --opt --all-databases > <バックアップファイル名>.sql | |||
<br> | |||
==== 特定のデータベースのバックアップ ==== | |||
mysqldump -u <ユーザ名> -p -x <バックアップするデータベース名> > <バックアップファイル名>.sql | |||
<br><br> | |||
== データベースの復元 == | |||
==== 全てのデータベースの復元 ==== | |||
まず、MySQLサービスを停止する。<br> | |||
sudo systemctl stop mysql | |||
<br> | |||
次に、データベースの実体ファイルを確認する。<br> | |||
* /var/lib/mysql/ib_logfileファイル | |||
*: ログ用領域ファイル | |||
* /var/lib/mysql/ibdata1ファイル | |||
*: データ用領域ファイル | |||
<br> | |||
上記のファイル群を削除する。<br> | |||
sudo rm 'ib_logfile*' 'ibdata*' | |||
<br> | |||
MySQLサービスを起動する。<br> | |||
sudo systemctl start mysql | |||
<br> | |||
全てのデータベースを復元する。<br> | |||
mysql -u root -p < <バックアップファイル名>.sql | |||
<br><br> | |||
{{#seo: | |||
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki | |||
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 | |||
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux | |||
|image=/resources/assets/MochiuLogo_Single_Blue.png | |||
}} | |||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:MySQL]] | [[カテゴリ:MySQL]] | ||