基礎ゼロでmysqlを独学で学ぶ方法
まず、私の核となる視点を教えてください。それは、何を勉強しているか、基礎があるかどうかに関係なく、学ぶことです。考えることが常に第一です。知識に触れたことがなくても問題ありません。恐れる必要はありません。恐れる必要もありません。大切なのは、「ナイフを研げば木を切る時間は無駄にならない」という諺にもあるように、一瞬の思考を止めずに、徹底的に考え抜くことです。特にエンジニアは釜を割って真相に迫る気概がないと、何を学んでも無駄になってしまいます。
推奨コース: MySQL チュートリアル 。
まず、mysql の知識体系の概要を説明します。
基本:
sql ステートメント テーブル構造の設計と最適化:
インデックス、低速クエリの最適化構成パラメーターの調整
中心原則:
InnoDb ストレージ エンジン (分離レベル、トランザクション、ロック、キャッシュ プール、ロールバック ログなど)
Mysqld (接続管理、プロセス管理、クエリ キャッシュ、クエリ最適化、ログなどを含む)
アーキテクチャと操作およびメンテナンス:
ユーザーと権限、セキュリティ
バックアップとリカバリ
ログ配布と高可用性
ゼロベースの子向け靴:
まず、基本的な SQL 構文を学習します。これを完了すると、SQL ステートメントを作成できるようになります。
このステップで推奨されるのは、W3Schools の SQL チュートリアルです。
次に、ユーザー関連や権限関連など、データベースの主な機能と使用方法を学びます。
私は 2 冊の本をお勧めします: 1. 「MySQL を知る必要がある」 この本は、基本概念からクエリ、新しいテーブルの挿入、ユーザー管理まで、具体的な例とともに非常に包括的です。 Mysql を学ぶための基礎. この本の学習方法を一言で言えば、 1. データベースの基本概念を 10 分で理解する 2. 練習するデータベースを見つける 3. 上記の内容を比較して入力する です。この本には SQL に関するコンテンツも多数含まれており、W3C の SQL チュートリアルと併せて読むことができます。
2. 『データベース システムの概念』という本は、DBA の必読書です。
これらを読んで実践し、考えたら、始めることができます。
次に、より深く学びたい子供たちにおすすめの本をいくつか紹介します (多くの専門家がこれを推奨しています)、「High-Performance MySQL (第 3 版)」、「MySQL Technology Insider (第 4 版)」、「 MySQL Technology Insider InnoDB Storage Engine」、「MySQL の詳細」、および MySQL の公式 Web サイトを参照してください。これらを読んで豊富な経験を積めば、理論的には DBA のレベルを取得できます。
Planet MySQL でまとめられているブログ、特に Percona の MySQL と InnoDB のパフォーマンスとスケーラビリティに関するブログを読むことを強くお勧めします。問題に直面したときは必ず前向きに考えてください!
例: 同時実行性が比較的高いシナリオに直面して、mysql 接続の数を構成する方法を教えてください。
「ああ、max_connection の値を増やすだけです。」
それでは、どのくらいの値が最適なのか考えたことはありますか?なぜこの設定が最適なのでしょうか?
おそらくあなたは次のように答えるでしょう: 「そうですね、システムの以前の max_used_connection の値を調べて、それを設定できます。back_log の値を増やすこともできます。」
Have考えたことはありますか? max_connection 接続数が多すぎるとどのような悪影響がありますか? back_log の設定が高すぎる場合のデメリットは何ですか? max_connect の上限は、実際には mysql が取得できるファイル記述子の数に依存します。つまり、10000 に設定しても、最終的には役に立ちません。マシンの状況に応じてシステムが自動的に下げます。 。
おそらくあなたはこう答えるでしょう:「設定が高すぎると、システムのオーバーヘッドが発生することはわかっています...」
では、これらのオーバーヘッドが正確に何なのか考えたことはありますか? ?このメモリ オーバーヘッドが必要なジョブは何ですか?
おそらく、接続が作成されると、接続バッファーとクエリ バッファーがすぐに接続バッファーに割り当てられるため、メモリが消費されると答えるかもしれません。
それがどれだけのリソースを占有するか考えたことがありますか?それはどのような要因に依存するのでしょうか?さて、まずはこの問題を終わらせましょう。 Zhihu の質問に戻りますが、実際のところ、私がここまで述べたのは、MySQL を独学で学習する方法を表現するためです。したがって、仕事で特定の状況に直面したときに、「ああ、ここは何か問題があるはずだ。どうすればよいか」と冷静に推測できるように、考え続けなければなりません。
問題に直面して、考え出す鍋を割って真実を尋ねる精神、まず考えて、自分の仮説を立てて、急いでドゥニアン、グーグルを見つけないでください。考えた後は、推理や答えを大胆に探してみましょう!他の人の意見を読み、公式の説明を読んでください。これがエンジニアのあるべき姿勢です。
最後に、貴重な学習教材をいくつか紹介したいと思います。
時間を節約できます。 -電子書籍:本をもっと読むことはまだ有益だと思います。何度も読む価値のある本もありますが、一度読んだだけでは十分に理解・吸収できず、思考力が不十分な場合もあります。
「MySQL を知る必要がある」「ハイパフォーマンス MySQL 第 3 版」「データベース システムの概念」「MySQL の深い理解」「MySQL のパフォーマンス チューニングとアーキテクチャ設計 - 全編」「SQL アンチパターン」「MySQL テクノロジー インサイダー InnoDB ストレージ」 Engine》
-mysqlを学ぶためのウェブサイト: MySQL Tutorial - Learn MySQL Fast, Easy and Fun. MySQLを素早く、簡単に、そして興味深く学ぶことができます。完全な MySQL チュートリアルが、シンプルかつわかりやすい方法で提供されています。各チュートリアルには、SQL スクリプトの実践的な例とスクリーンショットが用意されています。
mysql 学習教材 | mysql 詳細学習ノート 詳細ノートには、読むべき mysql 教材がたくさんあり、ネチズンが作成した学習ノートも読むことができます。 W3Schools SQL チュートリアルで基本的な SQL 文を学ぶことができます
- 公式マニュアルを読む
英語が得意かどうかに関係なく、英語のマニュアルを読む力を身につける必要がありますと栽培されています。
mysql 公式マニュアル: 14 The InnoDB Storage Engine - Daniel のブログ この分野の専門家のブログは学習にとって非常に価値があります。より優れたものをいくつか紹介します:
He Dengcheng の技術ブログ何登成技術ブログ
淘宝鼎奇瑞峰道・鼎旗-ITeye技術ウェブサイト
周真興@淘宝花名: Su Pu A Story@MySQL DBA
Alibaba Cloudシニアデータベース専門家の Peng Lixun は MariaDB Foundation の正式メンバーであり、グローバル レプリケーション モジュールに関連するパッチのレビューを担当しています。 Peng Lixun は、MariaDB Foundation によって紹介された最初の中国人プログラマーでもありました。 P.Linux Laboratory
Planet MySQL
最後に、もっと活用してみましょう。
以上が基礎ゼロでmysqlを独学で学ぶ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MySQLにすべてのデータベースを表示するには、ShowDataBaseコマンドを使用する必要があります。 1.MySQLサーバーにログインした後、ShowDatabaseを実行できます。現在のユーザーがアクセスする許可があるすべてのデータベースをリストするコマンド。 2。information_schema、mysql、performance_schema、sysなどのシステムデータベースはデフォルトで存在しますが、許可が不十分なユーザーはそれを見ることができない場合があります。 3. selectschema_namefrominformation_schema.schemataを介してデータベースをクエリしてフィルタリングすることもできます。たとえば、システムデータベースを除外して、ユーザーが作成したデータベースのみを表示します。必ず使用してください

既存のテーブルにプライマリキーを追加するには、AddPrimaryKey句を使用してAlterTableステートメントを使用してください。 1.ターゲット列にヌル値も重複もなく、notnullと定義されていることを確認してください。 2.単一列のプライマリキー構文は、変更可能なテーブル名AddPrimaryKey(列名)です。 3.マルチカラムの組み合わせプライマリキー構文は、変更可能なテーブル名AddPrimaryKeyです(列1、列2)。 4.列がnullを許可する場合、最初に変更を実行してnotnullを設定する必要があります。 5.各テーブルには1つの主キーのみがあり、追加する前に古いプライマリキーを削除する必要があります。 6.自分で増やす必要がある場合は、Modifyを使用してAuto_incrementを設定できます。操作前にデータを確認してください

MySQLサービスが実行されているかどうかを確認して、sudosystemctlstatusmysqlを使用して確認および開始します。 2.リモート接続を許可してサービスを再起動するために、バインドアドレスが0.0.0.0に設定されていることを確認してください。 3. 3306ポートが開いているかどうかを確認し、ポートを許可するファイアウォールルールを確認して構成します。 4。「アクセス」エラーの場合、ユーザー名、パスワード、ホスト名を確認し、mysqlにログインしてmysql.userテーブルをクエリしてアクセス許可を確認する必要があります。必要に応じて、 'your_user'@'%'を使用するなど、ユーザーを作成または更新して承認します。 5. caching_sha2_passwordにより認証が失われた場合

MySQLDUMPを使用することは、MySQLデータベースをバックアップする最も一般的で効果的な方法です。テーブル構造とデータを含むSQLスクリプトを生成できます。 1.基本的な構文は、mysqldump-u [ユーザー名] -p [データベース名]> backup_file.sqlです。実行後、パスワードを入力してバックアップファイルを生成します。 2。-DATABASESオプションを使用して複数のデータベースをバックアップします:mysqldump-uroot-p--databasedb1db2> multive_dbs_backup.sql。 3.すべてのデータベースをバックアップしてください-all-database:mysqldump-uroot-p

b-TreeindexeSareBestformostphpapplications、astheisupportequalityandrangequeries、sorting、andareidealforumnsuseduseduseduseduseduseduseduseds; ororderbyclauses;

UnionRemovesDulisionallkeepsallowsincludingDuplicates;

Group_concat()関数のセパレーターキーワードを使用して、セパレーターをカスタマイズできます。 1.セパレーターを使用して、セパレーターなどのカスタムセパレーターを指定します。 'セパレーターは、セミコロンとプラススペースに変更できます。 2.一般的な例には、パイプ文字 '|'、スペース ''、ラインブレイク文字 '\ n'、またはカスタム文字列 ' - >'をセパレーターとして使用することが含まれます。 3.セパレーターは文字列リテラルまたは式である必要があり、結果の長さはgroup_concat_max_len変数によって制限されていることに注意してください。 4。セパレーターはオプションです

テーブルは、ロックテーブルを使用して手動でロックできます。読み取りロックにより、複数のセッションが読み取ることができますが、書き込むことはできません。 Write Lockは、現在のセッションの排他的な読み取りおよび書き込み許可を提供し、他のセッションは読み書きできません。 2。ロックは現在の接続のみです。 StartTransactionおよびその他のコマンドの実行は、暗黙的にロックをリリースします。ロック後、ロックされたテーブルのみにアクセスできます。 3. Myisamテーブルのメンテナンスやデータバックアップなどの特定のシナリオでのみ使用します。 INNODBは、パフォーマンスの問題を回避するための... forupdateなどのトランザクションおよび行レベルのロックを使用することを優先する必要があります。 4。操作が完了した後、ロックテーブルを明示的にリリースする必要があります。そうしないと、リソースの閉塞が発生する可能性があります。