MySQL設定とは?MySQL設定方法・初期設定・文字コード・データベース

MySQLとは?
MySQLとは、端的に言うとオープンソースのデータベース管理システムです。
簡単な個人事業主が使用する顧客リストから社内ネットワークの膨大な情報など、さまざまなデータベースを取り扱えます。
現在ではOracle社が開発・サポートをしていますが、オープンソースであるため開発者が自由に変更し使用できます。また、リレーショナルデータベースという特徴もあり、すべてのデータを独立してテーブルに保存できます。
MySQL設定とは?
ここからは、MySQL設定について説明します。
MySQL設定には初期設定から始まり、必要であれば自動起動の設定などが必要です。MySQLの利用者や興味のある方はぜひご覧ください。
初期設定
初期設定は、rootパスワードの設定やanonymousユーザーの削除、rootでのリモート接続設定にtestDBの削除などです。
セキュアな環境を作り出すためにも、初期設定では強力なパスワードを設定しましょう。
文字コード
文字コードは、クライアントとサーバーそれぞれにあります。
MySQLでは、デフォルトでlatin1という文字コードになっていますが、こちらは日本語を扱えません。そのため、日本語を使用できるようにするためにも文字コードの設定は必要です。
データベース
MySQLはデータベースを単位として管理するシステムなので、MySQLを利用するのであればデータベースを作成する必要があります。
WordPressなどのコンテンツマネジメントシステムでこのデータベースは利用されます。
ユーザー
ユーザーが存在することで、データベースの作成やテーブルに追加したデータを取得できるようになります。
MySQLでは、初期ユーザーとしてrootが設定されており、パスワードは空になっています。つまり、初期設定では誰でも
1
|
mysql -u root
|
とコンソールからコマンドを打つことで、管理者権限にてログインできます。この状況はリスクが高いため、ユーザー設定をしましょう
権限
MySQL設定を変更することで、ユーザー毎に権限を割り振れます。
全権限をユーザーに付けることもできますし、セキュア接続の使用やサーバーリソースへのアクセスに関する制限を設けることもできます。
MySQL設定方法
ここから、それぞれのMySQL設定についての設定方法を下記にて紹介します。
具体的なコマンドも載せているので、コマンドの作成にお困りの方はぜひ最後までご覧ください。
初期設定
まずは初期のMySQL設定をしましょう。
1
|
mysql_secure_installation
|
こちらのコードで最低限のセキュリティ設定が可能で、root ユーザーのパスワードの変更やanonymousユーザーの削除、リモートからrootユーザーでのログインを禁止できます。
MySQL 5.7からはVALIDATE PASSWORDプラグインをインストールするかどうかも聞かれるようになりました。
もしより強固なパスワードにしたい場合は、VALIDATE PASSWORDプラグインもインストールしましょう。
文字コード
続いて文字コードを設定します。
1
|
vim /etc/my.cnf
|
こちらを打って、my.cnfファイルを編集します。ここで設定したい文字コードとデフォルトテーブルの種別に設定しましょう。
以下のコードは例です。
1
2
3
4
|
[mysqld]
character-set-server=utf8
default-storage-engine=InnoDB
innodb_file_per_table
|
データベース
データベースを作成しましょう。この手順が抜けていると、のちに
1
|
No database selected
|
とエラーが発生します。データベースを作成するコードの構文は、
1
2
3
4
5
6
|
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[create_specification] ...
create_specification:
[DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
|
です。例えば『mysqltest』というデータベースを作成するコードは、
1
2
|
CREATE DATABASE mysqltest;
use mysqltest;
|
です。これでデータベースの作成と、作成したデータベースに移動が行えます。
ユーザーの設定
続いてユーザーを作成します。ユーザーの作成にはCREATE USERを使用します。CREATE USERの構文は、
1
2
3
4
5
6
7
8
|
CREATE USER user_specification [, user_specification] ...
user_specification:
user
[
| IDENTIFIED WITH auth_plugin [AS 'auth_string']
IDENTIFIED BY [PASSWORD] 'password'
]
|
です。
もしユーザー名が『User』、パスワードが『Password』でユーザーを作成したい場合は、
1
|
CREATE USER 'User'@'localhost' IDENTIFIED BY 'Password';
|
で作成できます。ユーザーをどこからでも接続できるようにしたい場合は、
1
|
CREATE USER 'User'@'%'localhost' IDENTIFIED BY 'Password';
|
というコマンドを打ちましょう。
権限の設定
MySQL設定を変更することで、権限の設定ができます。
使用する構文は、
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
GRANT
priv_type [(column_list)]
[, priv_type [(column_list)]] ...
ON [object_type] priv_level
TO user_specification [, user_specification] ...
[REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]
[WITH with_option ...]
GRANT PROXY ON user_specification
TO user_specification [, user_specification] ...
[WITH GRANT OPTION]
object_type:
TABLE
| FUNCTION
| PROCEDURE
priv_level:
*
| *.*
| db_name.*
| db_name.tbl_name
| tbl_name
| db_name.routine_name
user_specification:
user
[
| IDENTIFIED WITH auth_plugin [AS 'auth_string']
IDENTIFIED BY [PASSWORD] 'password'
]
ssl_option:
SSL
| X509
| CIPHER 'cipher'
| ISSUER 'issuer'
| SUBJECT 'subject'
with_option:
GRANT OPTION
| MAX_QUERIES_PER_HOUR count
| MAX_UPDATES_PER_HOUR count
| MAX_CONNECTIONS_PER_HOUR count
| MAX_USER_CONNECTIONS count
|
というGRANT構文です。
例えば、『User』というユーザーに全ての権限を付けたい場合のコマンドは、
1
|
GRANT all ON *.* TO 'User'@'localhost';
|
です。
自動起動の設定
OS起動時に自動的にMySQLを立ち上げたい場合、設定する必要があります。
Linuxの場合はchkconfigコマンドを使用します。起動スクリプトをインストールした後
1
|
chkconfig --add mysql
|
というコマンドを打つことでシステムの起動時に実行されます。
MySQL設定をしよう!
いかがでしたでしょうか。MySQL設定でデータベースやユーザーの作成ができます。
また、必要であればシステム起動時にMySQLが自動的に起動するようにもできます。
ぜひ、自分が使用しやすいようにMySQL設定を変更してみて、理解を深めてください。
FEnetを運営しているネプラス株式会社はサービス開始から10年以上
『エンジニアの生涯価値の向上』をミッションに掲げ、
多くのインフラエンジニア・ネットワークエンジニアの就業を支援してきました。
ネプラス株式会社はこんな会社です
秋葉原オフィスにはネプラス株式会社をはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
インフラ業界に特化
ネットワーク・サーバー・データベース等、ITインフラ業界に特化。Cisco Systemsプレミアパートナーをはじめ各種ベンダーのパートナー企業です。
業界を知り尽くしているからこそ大手の取引先企業、経験豊富なエンジニアに選ばれています。
-
正社員なのにフリーランスのような働き方
正社員の方でも希望を聞いたうえでプロジェクトをアサインさせていただいており、フリーランスのような働き方が可能。帰社日もありません。
プロジェクト終了後もすぐに次の案件をご紹介させていただきますのでご安心ください。
-
大手直取引の高額案件
案件のほとんどが大手SIerやエンドユーザーからの直取引のためエンジニアの皆様へに高く還元できています。
Ciscoをはじめ、Juniper、Azure、Linux、AWS等インフラに特化した常時300件以上の案件があります。
-
スキルアップ支援
不要なコストを削減し、その分エンジニアの方へのスキルアップ支援(ネットワーク機器貸出、合格時の受験費用支給など)や給与で還元しています。
受験費用例)CCNP,CCIE:6-20万円、JNCIS:3-4万円、AWS:1-3万円など
※業務に関連する一定の資格のみ。各種条件がありますので詳しくは担当者へにお尋ねください。
-
現給与を保証します!※
前職の給与保証しており、昨年度は100%の方が給与アップを実現。収入面の不安がある方でも安心して入社していただけます。
※適用にはインフラエンジニアの業務経験1年以上、等一定の条件がございます。
-
インセンティブ制度
ネットワーク機器の販売・レンタル事業等、売上に貢献いただいた方にはインセンティブをお支払いしています。
取引先企業とエンジニア側、双方にメリットがあり大変好評をいただいています。
-
社会保険・福利厚生
社員の方は、社会保険を完備。健康保険は業界内で最も評価の高い「関東ITソフトウェア健康保険組合」です。
さらに様々なサービスをお得に利用できるベネフィットステーションにも加入いただきます。
-
東証プライム上場企業グループ
ネプラスは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
ネプラス株式会社に興味を持った方へ
ネプラス株式会社では、インフラエンジニアを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。


MySQL新着案件New Job
-
サーバ構築・運用設計/東京都渋谷区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅勤務
年収588万~588万円東京都渋谷区(渋谷駅) -
【高額年収】/基盤運用保守/東京都千代田区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅勤務
年収600万~720万円東京都千代田区(溜池山王駅) -
【高額年収】/国内クラウドシステムのサーバ運用保守/東京都新宿区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅勤務
年収600万~720万円東京都新宿区(東新宿駅) -
国内クラウドシステムのサーバ構築のテスター/東京都新宿区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅勤務
年収300万~420万円東京都新宿区(東新宿駅) -
【高額年収】/社内情報システムインフラ運用保守/Windows/東京都多摩北部/【WEB面談可】/在宅勤務/20代~30代の方活躍中
年収600万~720万円東京都多摩北部(-駅) -
社内情報システムインフラ構築のテスター/Windows/東京都多摩北部/【WEB面談可】/在宅勤務/20代~30代の方活躍中
年収300万~420万円東京都多摩北部(-駅)