MySQL5.6.17データベースをインストールするときにMy.iniファイルを構成する方法

MySQL5.6.17データベースをインストールするときにMy.iniファイルを構成する方法

最近、プロジェクトの開発時に MySql データベースを使用しました。MySql に関する記事をいくつか読んだ後、すぐに使い始めました。使用中にまだいくつかの問題があります。MySql のグリーンの無料インストール バージョンが使用されているため、構成中にいくつかの問題が発生します。この記事では、主に MySql のグリーン バージョンの構成と使用について説明します。

1. MySQLの概要

MySql データベースは、スウェーデンの会社 MySql AB によって開発されましたが、現在は Oracle によって買収され、Oracle が所有しています。 SQL Server と同様に、リレーショナル データベースに基づくデータベース管理システムです。Web アプリケーションの観点から見ると、MySQL は軽量の RDBMS であるため、最適な RDBMS の 1 つです。

MySql の最新バージョンは 5.6.17 です。最新のダウンロード アドレスは http://dev.mysql.com/downloads/mysql/ です。ダウンロードが完了したら、次の手順はインストールとデプロイです。インストールとデプロイの詳細については、オンライン チュートリアルを参照してください。

2.MySqlの設定

MySql は SQL に基づいているため、基本的な DML、DDL、および DAL が含まれています。これらの基本的なデータベース言語は非常に使いやすいです。さらに、MySql は多くのデータベース操作コマンドもカプセル化しており、これらは DOS システムで実行されます。これが SQL Server との違いです。MySql 環境は DOS システムに基づいており、DOS コマンドを使用する必要があります。 Java と少し似ています。これも仮想マシン上に構築されており、一度構築すればどこでも使用できると言えます。 MySql コマンドを便利に使用するには、いくつかの前提条件を設定する必要があります。設定方法は Java 環境変数と同様です。次の方法では、インストールされていないバージョンの MySql を例として、その設定方法を説明します。

1.MySql環境の設定

MySQL の解凍パスをシステム変数に設定することで、どこからでも MySQL コマンドを使用できるようになります。

注: これは設定されたシステム変数です。コンソール コマンドを使用するサードパーティ コマンドは、システム変数に追加できます。システム変数はリンクとして機能し、コマンドを使用するときに最初に検索されます。

2. MySQLサーバーの設定

システム環境変数を設定したら、MySql の bin で提供されるすべてのサービスを使用できるようになります。次に、システムに MySQL をインストールする必要があります。

2.1 MySQLサーバーのインストール

解凍したファイル ディレクトリを開き、サフィックスが .ini のファイルを見つけてコピーし、名前を my.ini に変更して、元の内容を次の内容に置き換えます。

[mysqld]
basedir=D:/Program Files (x86)/MySql # MySQL のインストール ディレクトリを設定します。 datadir=D:/Program Files (x86)/MySql/data # MySQL データベース データの保存ディレクトリを設定します。これは、data または //xxx/data である必要があります。
*************************分割線********************
ポート = 3306
ソケット = /tmp/mysql.sock
default-character-set=gbk # mysqlサーバーの文字セットスキップロックを設定します
キーバッファ = 16K
最大許容パケット = 1M
テーブルキャッシュ = 4
ソートバッファサイズ = 64K
読み取りバッファサイズ = 256K
読み取りバッファサイズ = 256K
ネットバッファ長 = 2K
スレッドスタック = 64K
[クライアント]
#パスワード = あなたのパスワード
ポート = 3306
ソケット = /tmp/mysql.sock
デフォルト文字セット=gbk
*************************分割線********************

注意: basedir と datadir の下の [mysqld] は、ファイルを解凍した後のパスに設定する必要があります。ここでは、作成者はファイルを D:\Program Files (x86)\MySql に配置しました。なお、上記の区切り線内の内容はオプションであり、データベース作成時に再設定することができます。不確定要素が多くなるため、作成時には追加しないことを推奨します。

my.ini ファイルで、次の実行可能オプションを構成しました。

# 設定の変更方法については、

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

# *** このファイルは編集しないでください。これはテンプレートであり、

# *** インストール時のデフォルトの場所であり、

# *** MySQL の新しいバージョンにアップグレードします。

[クライアント]

#パスワード = あなたのパスワード

ポート = 3306

ソケット = /tmp/mysql.sock

デフォルトの文字セット=utf-8

[mysqld]

ポート = 3306

basedir="C:/Program Files/Mysql"

# mysqlのインストールディレクトリを設定する

データディレクトリ="C:/Program Files/Mysql/data"

# mysql データベース データの保存ディレクトリを設定します。data または //xxx/data である必要があります。

デフォルトのストレージエンジン=INNODB

# 新しいテーブルを作成するときに使用されるデフォルトのストレージエンジン

ソケット = /tmp/mysql.sock

sql-mode="STRICT_TRANS_TABLES、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION"

# SQLモードは厳密モードです

#デフォルト文字セット=utf-8

# mysqlサーバーの文字セットを設定する

#文字セットサーバー=utf-8

# サーバーが使用するデフォルトの文字セットは、8ビットのlatin1文字セットです

最大接続数=100

# MySQL サーバーでサポートされる同時接続の最大数 (ユーザー数)。ただし、最大接続数に達した場合でも、管理者がスーパー権限でログインできるように、常に 1 つの接続が予約されます。設定が小さすぎると、ユーザー数が多い場合に「接続数が多すぎます」というエラーが頻繁に発生します。

クエリキャッシュサイズ=0

# SELECT クエリの結果をキャッシュするために使用されるクエリ キャッシュ サイズ。同じクエリ結果を返す SELECT クエリが多数あり、テーブルがほとんど変更されない場合は、query_cache_size を 0 より大きく設定すると、クエリの効率が大幅に向上します。テーブルデータが頻繁に変更される場合は、これを使用しないでください。逆効果になります。

#テーブルキャッシュ=256

# このパラメータは、バージョン 5.1.3 以降では table_open_cache と呼ばれ、テーブル キャッシュの数を設定するために使用されます。各クライアント接続は少なくとも 1 つのテーブルにアクセスするため、このパラメータの値は max_connections に関連しています。接続がテーブルにアクセスすると、MySQL は現在キャッシュされているテーブルの数をチェックします。テーブルがキャッシュ内で開かれている場合は、クエリを高速化するためにキャッシュ内のテーブルに直接アクセスされます。テーブルがキャッシュされていない場合は、現在のテーブルがキャッシュに追加され、クエリが実行されます。キャッシュ操作を実行する前に、table_cache を使用してキャッシュされるテーブルの最大数を制限します。現在キャッシュされているテーブルが table_cache に達していない場合は、新しいテーブルが追加されます。この値に達した場合、MySQL は最後のクエリ時間、クエリ レート、およびキャッシュされたテーブルのその他のルールに基づいて以前のキャッシュを解放します。

tmp_table_size=34M

# メモリ内の各一時テーブルに許可される最大サイズ。一時テーブルのサイズがこの値を超えると、一時テーブルは自動的にディスクベースのテーブルに変換されます。

スレッドキャッシュサイズ=8

# キャッシュするスレッドの最大数。クライアント接続が切断されたときに、クライアント接続の合計数がこの値より少ない場合、クライアント タスクを処理しているスレッドがキャッシュに戻されます。同時実行性が高い状況では、この値が小さすぎると、多くのスレッドが頻繁に作成され、スレッド作成のオーバーヘッドが増加し、クエリの効率が低下します。一般的に、アプリケーション側でマルチスレッド処理が適切に行われている場合、このパラメータによってパフォーマンスが大幅に向上することはありません。

#------------------------------MyISAM 関連パラメータ開始------------------------------------------------

myisam_max_sort_file_size=100G

# mysql がインデックスを再構築するときに許可される一時ファイルの最大サイズ

myisam_sort_buffer_size=68M

キーバッファサイズ=54M

# MyISAM テーブルのインデックス ブロックをキャッシュするために使用されるキー バッファー サイズ。データベースのインデックス処理(特にインデックスの読み取り)の速度を決定します。

読み取りバッファサイズ=64K

# MyISAM テーブルの完全なテーブルスキャンに使用されるバッファ サイズ。割り当てはスレッドごとに行われます (完全なテーブルスキャンが実行されると仮定)。ソート クエリを実行する場合、MySql は最初にバッファをスキャンしてディスク検索を回避し、クエリ速度を上げます。大量のデータをソートする必要がある場合は、この値を適切に増やすことができます。ただし、MySql はクライアント接続ごとにこのバッファ領域を割り当てるため、過度のメモリ オーバーヘッドを回避するためにこの値を適切に設定する必要があります。

読み取りバッファサイズ=256K

ソートバッファサイズ=256K

# 接続レベルのパラメータ(スレッドごとに構成)、500 スレッドは 500*256K の sort_buffer_size を消費します。

#------------------------------MyISAM 関連パラメータ送信------------------------------------------------

#-------------------------------# InnoDB 関連のパラメータ開始 ---------------------------------------

innodb_additional_mem_pool_size=3M

# InnoDB がメタデータ情報を格納するために使用するメモリ プールのサイズ。通常、変更は必要ありません。

innodb_flush_log_at_trx_commit = 1

# トランザクション関連のパラメータ。値が 1 の場合、InnoDB はコミットごとにトランザクション ログをディスクに書き込みます (これにより、ディスク IO がさらに消費されます)。これにより、完全な ACID 特性が保証されます。 0 に設定されている場合、トランザクション ログをメモリ ログに書き込む頻度と、メモリ ログをディスクに書き込む頻度が 1 秒あたり 1 回であることを意味します。 2 に設定すると、トランザクション ログはコミットごとにメモリ ログに書き込まれますが、メモリ ログをディスクに書き込む頻度は 1 回/秒になります。

innodb_log_buffer_size=2M

# InnoDB ログ データ バッファのサイズ。バッファがいっぱいになると、バッファ内のログ データがディスクに書き込まれます (フラッシュ)。通常、ディスクは少なくとも 1 秒に 1 回書き込まれるため、長いトランザクションの場合でも、ディスクをあまり大きく設定する必要はありません。

innodb_buffer_pool_size=105M

# InnoDB はバッファ プールを使用してインデックスと行データをキャッシュします。値が大きいほど、必要なディスク IO が少なくなります。この値は通常、物理メモリの 80% に設定されます。

innodb_log_file_size=53M

# 各 InnoDB トランザクション ログのサイズ。通常はinnodb_buffer_pool_sizeの25%~100%に設定されます。

innodb_thread_concurrency=9

# InnoDB カーネル内の同時スレッドの最大数

#-------------------------------# InnoDB関連のパラメータ終了 ---------------------------------------

my.ini ファイルが設定されたら、cmd で mysqld サービスをインストールできます。cmd で次のコマンドを実行します: mysqld --install MySQL --defaults-file="D:\Program Files(x86)\MySql\my.ini"。ここで、MySQL はインストール サーバーの名前であり、任意の名前を指定できます。インストールが完了すると、次のメッセージが表示されます: サービスが正常にインストールされました。これは、インストールが成功したことを示します。インストールが成功すると、サービスはシステムのサービス グループ ポリシーに追加されます。使用するときは、有効にするだけで済みます。

注意: インストール コマンドを実行するときは、cmd のパスの問題に注意する必要があります。パスは、mysql の bin が配置されているパスである必要があります。たとえば、mysql を D:\Program Files(x86)\MySql フォルダーに解凍する場合、cmd の現在のパスは D:\Program Files(x86)\MySql\bin である必要があります。そうでない場合、インストールの完了後にサービスを開始すると、エラー メッセージが表示されます: システム エラー 2。システムは指定されたファイルを見つけることができません。

2.2 サーバーを起動する

MySQL サーバーを起動し、cmd でコマンド net start MySQL を実行します。

2.3 サーバーを停止する

使用後は、cmd でコマンド net stop MySQL を実行してサーバーを停止できます。

2.4 デザインサーバー名とパスワードを表示する

新しくインストールされたサーバーのデフォルト名は root で、パスワードはありません。名前とパスワードは cmd コマンドで設定できます。対応するコマンドは、 mysql -u rootです。また、cmd の update ステートメントを使用して、root パスワードを変更することもできます。具体的な設定方法は次のコードに示されています。

1. ルートにパスワードab12を追加する

まず、DOS でディレクトリ mysql\bin に入り、次のコマンドを入力します: mysqladmin -u root -p password ab12

注: 最初は root にパスワードがないため、-p 古いパスワード項目は省略できます。

2. ルートパスワードをdjg345に変更します: mysqladmin -u root -p ab12 password djg345

2.5 サービスを削除する: mysqld --remove MySQL

削除するデータベース サービスの名前を指定した削除コマンドを使用します。

3. 一般的なMySQLコマンド

3.1 接続サービス

ここで紹介する接続方法は、ローカル接続とリモート接続の 2 つです。

3.1.1 ローカル接続

cmd: mysql -u root -p コマンドを入力して実行し、対応するパスワードを入力します。 -u とユーザー名の間にはスペースを入れられないことに注意してください。つまり、-uroot も正しいですが、パスワードと -p の間にはスペースが必要です。 MYSQL をインストールしたばかりの場合、デフォルトの root ユーザー名にはパスワードがありません。mysql -u root と直接入力すると、MYSQL に入ることができます。MYSQL のプロンプトは、mysql> です。

3.1.2 リモート接続

リモート ホストの IP アドレスが 219.243.79.8、ユーザー名が root、パスワードが 123 であると仮定し、cmd で次のコマンドを実行します: mysql -h219.243.79.8 -uroot -p 123。

3.1.3 MYSQLコマンドを終了する: exit

3.2 新規ユーザーの追加

3.2.1 スーパーユーザー

パスワード abc を持つユーザー test1 を追加します。これにより、このユーザーは任意のホストにログインでき、すべてのデータベースを照会、挿入、変更、および削除する権限を持つことになります。まず、root ユーザーとして MYSQL に接続し、次のコマンドを入力します。

*.* に対する select、insert、update、delete 権限を [email=test1@”%]test1@”%[/email]” に付与します。“abc” で識別されます。

しかし、ユーザーを追加するのは非常に危険です。test1 のパスワードを知っている人がいれば、インターネット上のどのコンピューターからでも MySQL データベースにログインして、データを自由に操作できます。解決策については 2 を参照してください。 3.2.2 ローカルユーザー

パスワード abc を持つユーザー test2 を追加します。これにより、このユーザーは localhost にのみログインし、データベース mydb を照会、挿入、変更、削除できるようになります (localhost はローカル ホスト、つまり MYSQL データベースが配置されているホストを指します)。このようにすると、ユーザーが test2 のパスワードを知っていても、インターネットから直接データベースにアクセスすることはできず、MYSQL ホストの Web ページを介してのみアクセスできます。

「abc」で識別される [email=test2@localhost]test2@localhost[/email] に、mydb.* に対する select、insert、update、delete を許可します。

test2 にパスワードを設定したくない場合は、別のコマンドを入力してパスワードを削除できます。

mydb.* に対する select、insert、update、delete 権限を、“” で識別される [email=test2@localhost]test2@localhost[/email] に付与します。

3.3 表示コマンド

show コマンドは表示を意味し、MySql 内のいくつかのリスト情報を表示するために使用できます。たとえば、show databases はすべてのデータベースの名前を表示し、show tables はデータベース内のすべてのテーブルの名前を表示します。

3.4 データベースの操作

操作の前に、関連するデータベースに入る必要があります。use コマンドを使用できます。たとえば、use testdb を使用して、testdb という名前のデータベースに入ります。データベースに入った後、データベース内のオブジェクトを操作できます。対応する操作コマンドは、SQL ステートメント、DDL、DML、および DAL を使用します。

3.4.1 データベースコンテンツの表示

1. データベース内のテーブルのフィールド情報を表示します: desc テーブル名;

2. データベース テーブルの作成ステートメントを表示します: show create table テーブル名。もちろん、同じ方法を使用して、データベースの作成ステートメントを表示するなど、他のコンテンツを作成するための SQL ステートメントを表示することもできます (show create database データベース名)。

3.4.2 テーブル内の列タイプと名前を変更する

(1)列タイプのみを変更する

テーブル データベース名.テーブル名を変更し、列 列名のデータ型を変更します。たとえば、t_animal テーブルの sex 列をブール型に変更します。

テーブル t_animal を変更して、性別ブール値を null 以外に変更します
(2)列名と列のデータ型を同時に変更します。alter table table name change column old column name new column name data type、たとえば、t_animalテーブルのsex列の名前をani_sexに変更し、データ型をbooleanに変更します。

テーブル t_animal を変更して列の性別を変更 ani_sex ブール値が null でない
結論

この記事は、MySql の設定と使用方法についての予備的な概要です。MySql については、使用中にゆっくりと蓄積されるコンテンツがまだたくさんあり、この記事では、主に開発プロセスの状況に応じて更新され、新しいコンテンツを随時追加します。著者はこの記事のすべてのコマンドをテストしました。間違いがあれば、ぜひ指摘していただき、お互いに学び合うようにしてください。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker で MySQL 接続と設定ファイルの最大数を変更する
  • db2 を介して MySQL と springboot の yml 構成ファイルを統合するチュートリアル
  • IDEAはプロパティ設定ファイルを使用してMySQLデータベースに接続します。
  • Windows 上の MySQL 5.6 で my.ini 設定ファイルを見つける方法
  • docker で mysql 設定ファイルを変更する方法
  • MySql 5.7.20 のインストールとデータおよび my.ini ファイルの構成
  • MySQLファイル構成分析

<<:  JavaScript PromiseとAsync/Awaitの詳細な説明

>>:  UbuntuでOpenCVをコンパイルしてインストールする方法

推薦する

VueでTypescriptの設定手順を使用する

目次1. TypeScriptが古いVueプロジェクトに導入されるVue+Typescript プロ...

Vueのリストレンダリングの詳細な説明

目次1. v-for: 配列の内容を走査する(よく使われる) 2. v-for: オブジェクトのプロ...

MySQL データをエクスポートする際の secure-file-priv 問題の解決方法

エラー 1290 (HY000) : MySQL サーバーは –secure-file-priv オ...

MysqlクエリJSON結果に関連する関数の概要

JSON 形式のフィールドは、MySQL 5.7 で追加された新しい属性ですが、基本的には文字列とし...

Linux でファイル内の特定の文字の数を数える方法

ファイル内の文字列の数を数えることは、実際には砂の中の石を探すようなものです。ある人は、石を見た後に...

繰り返し送信、繰り返し更新、バックオフ防止に関する問題と解決策の分析

1つ。序文<br />この種の質問は、どの専門掲示板でも見かけます。Google で検索...

Nginx で WordPress を設定する方法

以前、私は自分で WordPress を構築していましたが、当時はサードパーティの仮想ホストを使用し...

ホバードロップダウンメニューを実装するためのネイティブJS

JS はホバー ドロップダウン メニューを実装します。これは、フロントエンドの面接で遭遇するシナリ...

localStorageの有効期限を設定するいくつかの方法

目次問題の説明1. 基本的な解決策2. 中間的な解決策3. 高度なソリューション4. ハードコアソリ...

グリッド共通レイアウトの実装

両側に隙間なし、各列間に隙間あり 幅: 100%; 表示: グリッド; グリッドテンプレート列: r...

EclipseのプロジェクトをTomcatに追加できない問題を解決する方法

1. プロジェクトを右クリックしてプロパティを選択します2. プロジェクトファセットをクリック3. ...

制限を使用すると、MySQL のページングがどんどん遅くなるのはなぜですか?

目次1. テスト実験2. 制限ページング問題に対するパフォーマンス最適化手法2.1 テーブルをカバー...

js を使用して QR コードを生成するサンプル コード

以前、プロジェクトでQRコードをスキャンして情報を表示する機能を開発する必要がありました。インターネ...

中国の専門ではない:文化の違いの中でのウェブ開発

Web デザインと開発は大変な作業なので、少数の人だけを対象に設計しないでください。これは外国人が...