Windows オペレーティング システムの MySQL 構成ファイルは「my.ini」で、通常は MySql インストールのルート ディレクトリにあるか、隠しフォルダー「ProgramData」の下にある場合があります。 Linux オペレーティング システムのファイル ファイルは「my.cnf」で、その場所は通常、「/etc/my.cnf」または「/etc/mysql/my.cnf」ディレクトリにあります。
このチュートリアルの動作環境: linux7.3&&windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
Windows オペレーティング システムの MySQL の構成ファイルは my.ini であり、Linux オペレーティング システムの MySQL の構成ファイルは my.cnf です。
# #my.ini 構成ファイル
my.ini は、MySQL で使用されるデフォルトの構成ファイルです。通常の状況では、my.ini 構成ファイルの内容が変更されていれば、MySQL を構成できます。
MySQL インストール ディレクトリには、上で紹介したディレクトリに加えて、サフィックス .ini が付いた複数の構成ファイルが存在する場合があります。構成ファイルが異なれば、意味も異なります。
my.ini は、MySQL で使用されるデフォルトの構成ファイルです。他の構成ファイルは、さまざまなデータベースに適した構成ファイルのテンプレートです。適切なデータベースの種類は、ファイル名に示されています。次に、構成ファイルを示します。について詳しく説明しました。
my-huge.ini: 非常に大規模なデータベースに適した構成ファイル。
my-large.ini: 大規模なデータベースに適した構成ファイル。
my-medium.ini: 中規模のデータベースに適した構成ファイル。
my-small.ini: 小規模データベースに適した構成ファイル。
my-template.ini: 構成ファイルのテンプレートです。MySQL 構成ウィザードは、構成ファイル内の選択された項目を my.ini ファイルに書き込みます。
my-innodb-heavy-4G.ini: この構成ファイルが InnoDB ストレージ エンジンに対してのみ有効であり、サーバーのメモリが 4GB 未満であってはいけないことを示します。
読者の便宜のため、my.ini ファイル内のコメントを省略しました。 my.ini のパラメータの具体的な意味については、後で別途紹介します。ファイルの内容は次のとおりです:
[client]
port=3306
[mysql]
default-character-set=gbk 上記はクライアントのパラメータを示しています。[client] と [mysql] は両方ともパラメータの説明は次のとおりです:
port: MySQL クライアントがサーバーに接続するために使用するポート番号を示します。デフォルトのポート番号は 3306 です。ポート番号を変更する必要がある場合は、ここで直接変更できます。
default-character-set: MySQL クライアントのデフォルトの文字セットを示します。
[mysqld]
port=3306
basedir=C:/Program Files/MySQL/MySQL Server 5.7/
datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data
character-set-server=gb2312
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=35M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=69M
key_buffer_size=55M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K 上記はサーバーのパラメータです。パラメータの説明は次の表に示されています:
パラメータ名 説明 #port は、MySQL サーバー basedir# のポート番号を表します。 ## は MySQL のポート番号を表します。 インストール パス ##datadir は、MySQL データ ファイルの保存場所とデータ テーブルの保存場所を表します##default-character -set サーバー側のデフォルトの文字セットを示しますdefault-storage-engine データ テーブルの作成時に使用されるデフォルトのストレージ エンジンsql-mode SQL モードのパラメータを示します。このパラメータを通じて、厳密性を設定できます。 SQL ステートメントのチェック数 ##max_connections は、MySQL サーバーに同時にアクセスできる最大接続数を示します。接続の 1 つは予約されており、管理者専用に予約されています。 query_cache_size は、クエリ中のキャッシュ サイズを表します。キャッシュには、SELECT ステートメントを通じて以前にクエリされたデータを保存できます.情報を使用すると、再度クエリを実行するときにキャッシュから情報を直接取り出すことができるため、クエリの効率が向上します。 table_open_cache すべてのユーザーによって開かれたテーブルの合計数を示します。プロセス tmp_table_size メモリ内の各一時テーブルに許可される最大サイズを示します thread_cache_size キャッシュの最大スレッド数を示します #myisam_max_sort_file_size MySQL がインデックスを再構築するときに許可される最大一時ファイル サイズを示します myisam_sort_buffer_size インデックス再構築時のキャッシュ サイズを示します ##key_buffer_size キーワードのキャッシュ サイズを示します #read_buffer_sizeMyISAM テーブルのフル テーブル スキャンのキャッシュ サイズを示します read_rnd_buffer_sizeソートされたデータがキャッシュ sort_buffer_sizeソートに使用されるバッファ サイズを示します innodb_additional_mem_pool_size=3M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=2M
innodb_buffer_pool_size=107M
innodb_log_file_size=54M
innodb_thread_concurrency=18 以上是 InnoDB 存储引擎使用的参数,参数说明如下:
innodb_additional_mem_pool_size:表示附加的内存池,用来存储 InnoDB 表的内容。
innodb_flush_log_at_trx_commit:是设置提交日志的时机,若设置为 1,InnoDB 会在每次提交后将事务日志写到磁盘上。
innodb_log_buffer_size:表示用来存储日志数据的缓存区的大小。
innodb_buffer_pool_size:表示缓存的大小,InnoDB 使用一个缓冲池类保存索引和原始数据。
innodb_log_file_size:表示日志文件的大小。
innodb_thread_concurrency:表示在 InnoDB 存储引擎允许的线程最大数。
注意:每次修改 my.ini 文件中的参数后,必须重新启动 MySQL 服务才会有效。
my.cnf配置文件
为了方便读者阅读,我们省略了 my.cnf 文件中的注释内容。下面分开介绍 my.cnf 中参数的具体意义,文件内容如下:
[client]
port=3306
socket=/var/run/mysql/mysql.sock
[mysqldump]
quick
max_allowed_packet = 16M 以上参数会被 MySQL 客户端应用读取,参数说明如下:
port:MySQL 客户端连接服务器端时使用的端口号,默认为 3306
socket:套接字文件所在目录
quick:支持较大的数据库转储,导出非常巨大的表时需要此项 。
max_allowed_packet:服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB字段一起工作时相当必要),每个连接独立的大小,大小动态增加。
注意:只有 MySQL 附带的客户端应用程序保证可以读取这段内容。如果想要自己的 MySQL 应用程序获取这些值,需要在 MySQL 客户端库初始化的时候指定这些选项。
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /mydata/mysql/data
port=3306
server-id = 1
socket=/var/run/mysql/mysql.sock 上述参数说明如下:
user:mysqld 程序在启动后将在给定 UNIX/Linux 账户下执行。mysqld 必须从 root 账户启动才能在启动后切换到另一个账户下执行。mysqld_safe 脚本将默认使用 user=mysql 选项来启动 mysqld 程序。
basedir:指定 MySQL 安装的绝对路径;
datadir:指定 MySQL 数据存放的绝对路径;
port:服务端口号,默认为 3306
server-id:MySQL 服务的唯一编号,每个 MySQL 服务的 id 需唯一。
socket:socket 文件所在目录
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
lower_case_table_names = 1
key_buffer_size=16M
max_allowed_packet=8M
no-auto-rehash
sql_mode=TRADITIONAL
character-set-server:数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用 4 个字节)
collation-server:数据库字符集对应一些排序等规则,注意要和 character-set-server 对应
init_connect:设置 client 连接 mysql 时的字符集,防止乱码
lower_case_table_names:是否对 sql 语句大小写敏感,1 表示不敏感
key_buffer_size:用于指定索引缓冲区的大小
max_allowed_packet:设置一次消息传输的最大值
no-auto-rehash:仅仅允许使用键值的 UPDATES 和 DELETES
sql_mode:表示 SQL 模式的参数,通过这个参数可以设置检验 SQL 语句的严格程度
上述内容可能与你的配置文件不同,当有什么需求时,复制使用相应的参数即可。
【相关推荐:mysql视频教程 】
以上がmysqlの設定ファイルとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
MySQLのトランザクションの実装と酸性特性の理解
Jul 08, 2025 am 02:50 AM
MySQLはトランザクション処理をサポートし、INNODBストレージエンジンを使用してデータの一貫性と整合性を確保します。 1。トランザクションはSQL操作のセットであり、すべてが成功するか、すべてがロールバックに失敗します。 2。酸属性には、原子性、一貫性、分離、持続性が含まれます。 3。トランザクションを手動で制御するステートメントは、開始換算、コミット、ロールバックです。 4. 4つの分離レベルには、読み取りがコミットされていない、読み取り、提出された再現可能な読み取り、およびシリアル化が含まれます。 5.トランザクションを正しく使用して、長期操作を回避し、自動コミットをオフにし、ロックと例外を合理的に処理します。これらのメカニズムを通じて、MySQLは高い信頼性と同時制御を実現できます。
MySQLの文字セットと照合の問題を処理します
Jul 08, 2025 am 02:51 AM
クロスプラットフォームの移行またはマルチパーソン開発の場合、文字セットとソートルールの問題は一般的になり、その結果、文字化けされたコードまたは一貫性のないクエリが発生します。 3つのコアソリューションがあります。最初に、データベース、テーブル、およびフィールドの文字セットをUTF8MB4にチェックして統合し、showCreateDatabase/テーブルを介して表示し、ALTERステートメントで変更します。次に、クライアントが接続するときにUTF8MB4文字セットを指定し、接続パラメーターに設定するか、SetNamesを実行します。第三に、ソートルールを合理的に選択し、UTF8MB4_UNICODE_CIを使用して比較と並べ替えの正確性を確保し、ライブラリとテーブルを構築するときに変更を介して指定または変更することをお勧めします。
コマンドラインクライアントを使用してMySQLデータベースに接続します
Jul 07, 2025 am 01:50 AM
MySQLデータベースに接続する最も直接的な方法は、コマンドラインクライアントを使用することです。最初にMySQL -Uユーザー名-Pを入力し、パスワードを正しく入力して、インタラクティブインターフェイスを入力します。リモートデータベースに接続する場合は、-Hパラメーターを追加してホストアドレスを指定する必要があります。次に、MySQL-U USERNAME-Pデータベース名やMySQL-U USERNAME-Pデータベース名など、ログイン時に特定のデータベースに直接切り替えるか、ログインするときにSQLファイルを実行できます。
mysql 8で一般的なテーブル式(CTE)を使用します
Jul 12, 2025 am 02:23 AM
CTESは、複雑なクエリの読みやすさとメンテナンスを改善するために、MySQL8.0によって導入された機能です。 1。CTEは一時的な結果セットであり、現在のクエリでのみ有効で、明確な構造があり、重複する参照をサポートしています。 2。サブQueriesと比較して、CTEはより読みやすく、再利用可能であり、再帰をサポートします。 3.再帰CTEは、初期クエリと再帰部品を含める必要がある組織構造などの階層データを処理できます。 4.提案の使用には、虐待の避け、仕様の命名、パフォーマンス、デバッグ方法に注意を払うことが含まれます。
堅牢なMySQLデータベースバックアップ戦略の設計
Jul 08, 2025 am 02:45 AM
信頼性の高いMySQLバックアップソリューションを設計するために、1。まず、RTOおよびRPOインジケーターを明確にし、ビジネスの許容可能なダウンタイムとデータ損失範囲に基づいてバックアップ頻度と方法を決定します。 2。論理バックアップ(MySQldumpなど)、物理バックアップ(PerconaxTrabackupなど)、バイナリログ(BINLOG)を組み合わせて、ハイブリッドバックアップ戦略を採用して、迅速な回復と最小データ損失を達成します。 3.リカバリプロセスを定期的にテストして、バックアップの有効性を確保し、回復操作に精通します。 4.オフサイトストレージ、暗号化保護、バージョン保持ポリシー、バックアップタスク監視など、ストレージセキュリティに注意してください。
MySQLクエリパフォーマンスの最適化の戦略
Jul 13, 2025 am 01:45 AM
MySQLクエリパフォーマンスの最適化は、インデックスの合理的な使用、SQLステートメントの最適化、テーブル構造設計とパーティション戦略、キャッシュおよび監視ツールの利用など、コアポイントから開始する必要があります。 1.合理的にインデックスを使用する:一般的に使用されるクエリフィールドでインデックスを作成し、完全なテーブルスキャンを避け、結合されたインデックス順序に注意を払い、低い選択フィールドにインデックスを追加しないでください。 2。SQLクエリの最適化:Select*を避け、Whereで機能を使用しないでください。サブクエリネスティングを削減し、ページングクエリメソッドを最適化します。 3。テーブル構造の設計とパーティション化:読み取りおよび書き込みシナリオに従ってパラダイムまたはアンチパラダイムを選択し、適切なフィールドタイプを選択し、定期的にデータをクリーンし、水平テーブルを検討して、テーブルまたはパーティションを時間単位で分割します。 4.キャッシュと監視の利用:Redisキャッシュを使用してデータベースの圧力を下げ、遅いクエリを有効にします
MySQLで複雑な結合操作を最適化します
Jul 09, 2025 am 01:26 AM
tooptimizecomplexjoInoperationsql、followfourkeySteps:1)Joincolumnsの順にプロペラインデックスすること、特にcomposidedexexexexexexexexedexexedexedidedexediding oclumnjoinsandavoindavoindavoindavoindavoindavoindavoindavoindavoindavoindavoindavoindavoindavoindidingは、削減された
MySQLの説明を使用したクエリ実行の分析
Jul 12, 2025 am 02:07 AM
MySQLの説明は、クエリ実行計画の分析に使用されるツールです。選択クエリの前に説明を追加して、実行プロセスを表示できます。 1.メインフィールドには、ID、select_type、テーブル、タイプ、キー、エクストラなどが含まれます。 2。効率的なクエリは、タイプ(const、eq_refが最適です)、キー(適切なインデックスを使用するかどうかなど)、および追加(Filesortを使用しないようにして、使用しないでください)に注意を払う必要があります。 3.一般的な最適化の提案:関数を使用したり、フィールドの主要なワイルドカードのぼやけを避けたり、一貫したフィールドタイプを確保したり、接続フィールドインデックスを合理的に設定し、ソートを最適化してパフォーマンスを改善し、資本を削減したりします。
See all articles