MySQLによるデータベース操作に関する世界観(B.管理と設定)です。
MySQLの初期設定は「mysql_secure_installation」コマンドから行う。
詳しくは以下を参照のこと。
MySQLはデフォルトでtestデータベースというテスト用のデータベースが含まれているので、これは必ず削除する。またMySQLにはmysqlデータベースとinformation_schemaデータベースが最初から存在するが、これらはMySQLの動作と管理に必要な大切なデータベースなので間違って削除したりしないように注意しよう。
MySQLの設定はmy.cnfファイルあるいはmy.iniファイルで行う。
Linuxではmy.cnfだが、Windowsではmy.ini。
小さな規模から大きな規模の順に、my-small.cnf、my-medium.cnf、my-large.cnf、my-huge.cnf、my-innodb-heavy-4G.cnfのように、/usr/share/mysql/にサンプル設定がある。
よって、
$ mv /usr/share/mysql/my-medium.cnf /etc/my.cnf
などとする。
(MySQLを入れてまずやること(my.cnfとか) - Glitchを参考に執筆しました。)
書籍「いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング (「いちばんやさしい教本」シリーズ)」を参考にさせていただきました。
MySQLの設定は、phpMyAdminという管理ツールを用いて行いますが、設定ファイルを編集することもあります。
MySQLの設定ファイルは、Windowsではmy.iniです。ここで、文字コードをUTF-8に設定しましょう。
以下はmy.iniの設定。
[client]
の下の行に
default-character-set=utf8
を追加。
[mysqld]
の下の行に
character-set-server=utf8
を追加。
[mysql]
の下の行に
default-character-set=utf8
を追加。
mysqlコマンドを使うことで、コマンドラインからMySQLデータベースを操作できる。
ダンプは、mysqldumpコマンドでダンプファイルを作成し、復元はダンプファイルをmysqlコマンドで復元する。
詳しくは以下が参考になる。
MySQLのストレージエンジンは、MySQLの中で「データの読み書き」を行っている基盤となるエンジンのこと。
主に、InnoDBとMyISAMという2つが有名。
MyISAMはロックをテーブル単位で行うが、InnoDBはレコード(行)単位で行う。
InnoDBに存在するトランザクション機能は、MyISAMでは存在しない。
MySQLには複数のロック用の構文がある。テーブルロックをかけるにはLOCK TABLES構文を用いる。
2023.06.16
MySQL公式のグラフィカルなDB操作ツール。
MySQLのPHPによる管理ツール。昔から有名で、知っている方も多いはず。SQLのデータベース定義言語でテーブルを作るよりも簡単。
MySQLのドキュメント。MySQLはSunに買収され、SunがOracleに買収されたことで、Oracleのものになりました。
OracleがMySQLを持っていると、冗談のように見えますが、forkしてMariaDBになりました。
ただ、Oracleは積極的にオープンソースと友好しているので、あまり敵ではないと思います。
Wikipedia
ソースコード
MariaDBのドキュメント。
Wikipedia
ソースコード