| MYSQL_CONFIG_EDITOR(1) | MySQL Database System | MYSQL_CONFIG_EDITOR(1) |
نام (NAME)
mysql_config_editor - پیکربندی اطلاعات احراز هویت برای اتصال به سرور MySQL
خلاصه دستور (SYNOPSIS)
mysql_config_editor options command
توضیحات (DESCRIPTION)
ابزار mysql_config_editor به شما امکان میدهد اطلاعات اعتباری احراز هویت را در یک فایل مسیر ورود (login path) مبهمسازیشده به نام .mylogin.cnf ذخیره کنید. مکان این فایل در ویندوز، دایرکتوری %APPDATA%\MySQL و در سیستمهای غیرویندوزی، دایرکتوری خانگی کاربر فعلی است. این فایل میتواند بعداً توسط برنامههای کلاینت MySQL خوانده شود تا اطلاعات احراز هویت لازم برای اتصال به MySQL Server را دریافت کنند.
قالب نامبهم فایل مسیر ورود .mylogin.cnf همانند سایر فایلهای گزینهها، از گروههای گزینه تشکیل شده است. هر گروه گزینه در .mylogin.cnf یک “مسیر ورود” (login path) نامیده میشود؛ گروهی که تنها گزینههای خاصی را مجاز میداند: host، user، password، port و socket. یک گروه گزینه مسیر ورود را میتوان مجموعهای از گزینهها در نظر گرفت که مشخص میکنند به کدام سرور MySQL متصل شوید و با کدام حساب کاربری احراز هویت را انجام دهید. در اینجا یک نمونه نامبهم آورده شده است:
[client] user = mydefaultname password = mydefaultpass host = 127.0.0.1 [mypath] user = myothername password = myotherpass host = localhost
هنگامی که یک برنامه کلاینت را برای اتصال به سرور اجرا میکنید، کلاینت از .mylogin.cnf در کنار سایر فایلهای گزینه استفاده میکند. اولویت این فایل از سایر فایلهای گزینه بیشتر است، اما اولویت آن از گزینههایی که صریحاً در خط فرمان کلاینت مشخص شدهاند کمتر است. برای کسب اطلاعات درباره ترتیبی که فایلهای گزینه استفاده میشوند، به بخش 6.2.2.2، “استفاده از فایلهای گزینه” مراجعه کنید.
برای مشخص کردن نام فایلی جایگزین برای مسیر ورود، متغیر محیطی MYSQL_TEST_LOGIN_FILE را تنظیم کنید. این متغیر توسط mysql_config_editor، کلاینتهای استاندارد MySQL (mysql، mysqladmin و غیره)، و ابزار آزمایشی mysql-test-run.pl شناخته میشود.
برنامهها از گروههای موجود در فایل مسیر ورود به شکل زیر استفاده میکنند:
mysql
بهطور پیشفرض، کلاینت mysql گروههای [client] و [mysql] را از سایر فایلهای گزینه میخواند، بنابراین آنها را از فایل مسیر ورود نیز خواهد خواند.
mysql --login-path=mypath
کلاینت mysql گروههای [client] و [mysql] را از سایر فایلهای گزینه، و گروههای [client]، [mysql] و [mypath] را از فایل مسیر ورود میخواند.
دستور mysql_config_editor فایل .mylogin.cnf را مبهمسازی میکند تا به صورت متن آشکار (cleartext) قابل خواندن نباشد، و محتویات آن پس از رفع ابهام توسط برنامههای کلاینت تنها در حافظه استفاده میشوند. به این ترتیب، گذرواژهها میتوانند به صورت غیرمتن آشکار در یک فایل ذخیره شده و بعداً بدون نیاز به نمایش در خط فرمان یا در یک متغیر محیطی مورد استفاده قرار گیرند. mysql_config_editor دستور print را برای نمایش محتویات فایل مسیر ورود فراهم میکند، اما حتی در این حالت نیز مقادیر گذرواژه ماسک میشوند تا به گونهای که سایر کاربران بتوانند آنها را ببینند نمایش داده نشوند.
مبهمسازی استفادهشده توسط mysql_config_editor از نمایش گذرواژهها به صورت متن آشکار در .mylogin.cnf جلوگیری میکند و با ممانعت از افشای تصادفی گذرواژه، سطحی از امنیت را فراهم میآورد. به عنوان مثال، اگر یک فایل گزینه معمولی و نامبهم my.cnf را بر روی صفحه نمایش دهید، تمام گذرواژههای موجود در آن برای هر کسی قابل مشاهده است. در مورد .mylogin.cnf چنین نیست، اما مبهمسازی استفادهشده احتمالاً مانع یک مهاجم مصمم نخواهد شد و نباید آن را غیرقابل شکستن در نظر بگیرید. کاربری که بتواند به امتیازات مدیریت سیستم در دستگاه شما دست یابد تا به فایلهایتان دسترسی پیدا کند، میتواند با اندکی تلاش فایل .mylogin.cnf را رفع ابهام کند..PP فایل مسیر ورود (login path) باید برای کاربر جاری قابل خواندن و نوشتن باشد، و برای دیگر کاربران غیرقابلدسترس باشد. در غیر این صورت، mysql_config_editor آن را نادیده میگیرد و برنامههای کلاینت نیز از آن استفاده نمیکنند.
دستور mysql_config_editor را به این صورت فراخوانی کنید:
mysql_config_editor [program_options] command [command_options]
اگر فایل مسیر ورود وجود نداشته باشد، mysql_config_editor آن را ایجاد میکند.
آرگومانهای دستور به صورت زیر مشخص میشوند:
موقعیت نام دستور در میان آرگومانهای برنامه اهمیت دارد. برای نمونه، این خطوط فرمان آرگومانهای یکسانی دارند، اما نتایج متفاوتی تولید میکنند:
mysql_config_editor --help set mysql_config_editor set --help
خط فرمان اول یک پیام راهنمای عمومی mysql_config_editor را نمایش میدهد و دستور set را نادیده میگیرد. خط فرمان دوم پیام راهنمای اختصاصی دستور set را نمایش میدهد.
فرض کنید میخواهید یک مسیر ورود با نام client ایجاد کنید که پارامترهای اتصال پیشفرض شما را تعریف کند، و یک مسیر ورود دیگر با نام remote برای اتصال به سرور MySQL روی میزبان remote.example.com. شما میخواهید به شکل زیر وارد شوید:
برای تنظیم مسیرهای ورود در فایل .mylogin.cnf دستورهای set زیر را به کار ببرید. هر دستور را در یک خط وارد کرده و هنگام درخواست، گذرواژههای مربوطه را وارد کنید:
$> mysql_config_editor set --login-path=client
--host=localhost --user=localuser --password
Enter password: enter password "localpass" here
$> mysql_config_editor set --login-path=remote
--host=remote.example.com --user=remoteuser --password
Enter password: enter password "remotepass" here
mysql_config_editor بهطور پیشفرض از مسیر ورود client استفاده میکند، بنابراین گزینهٔ --login-path=client میتواند بدون تغییر در نتیجه، از دستور اول حذف شود.
برای مشاهدهٔ آنچه mysql_config_editor در فایل .mylogin.cnf مینویسد، از دستور print استفاده کنید:
$> mysql_config_editor print --all [client] user = localuser password = ***** host = localhost [remote] user = remoteuser password = ***** host = remote.example.com
دستور print هر مسیر ورود را به صورت مجموعهای از خطوط نمایش میدهد که با یک سربرگ گروهی حاوی نام مسیر ورود در کروشه آغاز میشود و به دنبال آن مقادیر گزینههای مربوط به مسیر ورود میآیند. مقادیر گذرواژه ماسک شدهاند و به صورت متن آشکار نمایش داده نمیشوند.
اگر گزینهٔ --all را برای نمایش تمام مسیرهای ورود یا --login-path=name را برای نمایش یک مسیر ورود با نام مشخص تعیین نکنید، دستور print در صورت وجود، بهطور پیشفرض مسیر ورود client را نمایش میدهد.
همانطور که در مثال پیشین نشان داده شد، فایل مسیر ورود میتواند شامل چندین مسیر ورود باشد. به این ترتیب، mysql_config_editor تنظیم چندین “هویت” را برای اتصال به سرورهای مختلف MySQL، یا برای اتصال به یک سرور مشخص با استفاده از حسابهای کاربری گوناگون آسان میکند. هر یک از اینها را میتوان بعداً هنگام فراخوانی یک برنامهٔ کلاینت با استفاده از گزینهٔ --login-path بر اساس نام انتخاب کرد. برای نمونه، جهت اتصال به سرور راه دور، از این دستور استفاده کنید:
mysql --login-path=remote
برای اتصال به سرور محلی، از این دستور استفاده کنید:
mysql --login-path=client
از آنجا که mysql بهطور پیشفرض مسیرهای ورود client و mysql را میخواند، گزینهٔ --login-path در این حالت چیزی اضافه نمیکند. آن دستور معادل این دستور است:
mysql
گزینههای خواندهشده از فایل مسیر ورود نسبت به گزینههای خواندهشده از سایر فایلهای گزینه اولویت دارند. گزینههای خواندهشده از گروههای مسیر ورود که دیرتر در فایل مسیر ورود ظاهر میشوند، نسبت به گزینههای خواندهشده از گروههایی که زودتر در فایل قرار دارند اولویت دارند.
دستور mysql_config_editor مسیرهای ورود را به ترتیبی که آنها را ایجاد میکنید به فایل مسیر ورود اضافه میکند، بنابراین باید ابتدا مسیرهای ورود عمومیتر و سپس مسیرهای خاصتر را ایجاد کنید. اگر نیاز به جابهجایی یک مسیر ورود درون فایل دارید، میتوانید آن را حذف کرده و سپس مجدداً ایجاد کنید تا به انتهای فایل اضافه شود. برای مثال، مسیر ورود client عمومیتر است زیرا توسط تمام برنامههای کلاینت خوانده میشود، در حالی که مسیر ورود mysqldump تنها توسط mysqldump خوانده میشود. گزینههایی که دیرتر مشخص میشوند جایگزین گزینههایی میشوند که زودتر مشخص شدهاند، بنابراین قرار دادن مسیرهای ورود به ترتیب client و mysqldump به گزینههای مختص mysqldump اجازه میدهد تا گزینههای client را بازنویسی کنند.
هنگامی که از دستور set به همراه mysql_config_editor برای ایجاد یک مسیر ورود استفاده میکنید، نیازی نیست تمامی مقادیر گزینههای ممکن (نام میزبان، نام کاربری، گذرواژه، پورت، سوکت) را مشخص کنید. فقط مقادیر دادهشده در مسیر نوشته میشوند. هر مقدار مفقودی که بعداً مورد نیاز باشد را میتوان هنگام فراخوانی مسیر کلاینت برای اتصال به سرور MySQL، چه در سایر فایلهای گزینه یا در خط فرمان مشخص کرد. هر گزینهای که در خط فرمان مشخص شود، بر گزینههای مشخصشده در فایل مسیر ورود یا سایر فایلهای گزینه ارجحیت دارد. برای مثال، اگر اطلاعات اعتبارسنجی در مسیر ورود remote برای میزبان remote2.example.com نیز صدق کند، به این صورت به سرور روی آن میزبان متصل شوید:
mysql --login-path=remote --host=remote2.example.com
گزینههای عمومی mysql_config_editor
دستور mysql_config_editor از گزینههای عمومی زیر پشتیبانی میکند که میتوانند پیش از هر دستوری که در خط فرمان مشخص شده استفاده شوند. برای توضیحات گزینههای مختص دستور، بخش دستورات و گزینههای مختص دستور mysql_config_editor را ببینید.
| قالب خط فرمان | --help |
نمایش یک پیام راهنمای عمومی و خروج.
برای دیدن پیام راهنمای مختص به یک دستور، mysql_config_editor را به صورت زیر اجرا کنید، که در آن command دستوری غیر از help است:
mysql_config_editor command --help
| قالب خط فرمان | --debug[=debug_options] |
| نوع | String |
| مقدار پیشفرض | d:t:o |
نوشتن گزارش اشکالزدایی (debugging log). یک رشتهٔ معمولی debug_options به صورت d:t:o,file_name است. مقدار پیشفرض d:t:o,/tmp/mysql_config_editor.trace میباشد.
این گزینه تنها در صورتی در دسترس است که MySQL با استفاده از WITH_DEBUG ساخته شده باشد. باینریهای رسمی انتشار MySQL ارائهشده توسط Oracle با این گزینه ساخته نشدهاند.
| قالب خط فرمان | --verbose |
حالت پرگو (verbose). چاپ اطلاعات بیشتر دربارهٔ آنچه برنامه انجام میدهد. این گزینه ممکن است در عیبیابی مشکلات در صورتی که یک عملیات نتیجهٔ مورد انتظار شما را نداشته باشد، مفید باشد.
| قالب خط فرمان | --version |
نمایش اطلاعات نسخه و خروج.
علاوه بر این، mysql_config_editor از گزینههای عمومی که میتوانند پیش از هر دستوری استفاده شوند نیز پشتیبانی میکند. برای مشاهده توضیحات این گزینهها، به بخش گزینههای عمومی mysql_config_editor مراجعه کنید.
mysql_config_editor از این دستورات پشتیبانی میکند:
نمایش یک پیام راهنمای عمومی و خروج. این دستور هیچ گزینهای در ادامه نمیپذیرد.
برای مشاهده پیام راهنمای مختص یک دستور، mysql_config_editor را به صورت زیر اجرا کنید که در آن command دستوری غیر از help است:
mysql_config_editor command --help
چاپ محتویات فایل مسیر ورود (login path) به شکل آشکار و غیرمبهم، با این استثنا که گذرواژهها به صورت ***** نمایش داده میشوند.
در صورتی که هیچ مسیر ورودی تعیین نشود، نام پیشفرض مسیر ورود client است. اگر هر دو گزینه --all و --login-path داده شوند، --all اولویت خواهد داشت.
دستور print این گزینهها را در ادامه نام دستور مجاز میداند:
نمایش پیام راهنما برای دستور print و خروج.
برای مشاهده پیام راهنمای عمومی، از mysql_config_editor --help استفاده کنید.
چاپ محتویات تمام مسیرهای ورود در فایل مسیر ورود.
چاپ محتویات مسیر ورود نامبرده شده.
حذف یک مسیر ورود از فایل مسیر ورود، یا ویرایش یک مسیر ورود از طریق حذف گزینهها از آن.
این دستور تنها آن دسته از گزینههایی را از مسیر ورود حذف میکند که با گزینههای --host، --password، --port، --socket و --user مشخص شده باشند. اگر هیچیک از این گزینهها مشخص نشوند، remove کل مسیر ورود را حذف میکند. برای مثال، این دستور تنها گزینه user را از مسیر ورود mypath حذف میکند نه کل مسیر ورود mypath را:
mysql_config_editor remove --login-path=mypath --user
این دستور کل مسیر ورود mypath را حذف میکند:
mysql_config_editor remove --login-path=mypath
دستور remove این گزینهها را در ادامه نام دستور مجاز میداند:
نمایش پیام راهنما برای دستور remove و خروج.
برای مشاهده پیام راهنمای عمومی، از mysql_config_editor --help استفاده کنید.
حذف نام میزبان (host name) از مسیر ورود.
مسیر ورود (login path) جهت حذف یا تغییر. در صورت مشخص نشدن این گزینه، نام مسیر ورود پیشفرض client است.
حذف گذرواژه از مسیر ورود.
حذف شماره درگاه TCP/IP از مسیر ورود.
حذف نام فایل سوکت یونیکس از مسیر ورود.
حذف نام کاربری از مسیر ورود.
در صورتی که دستور تلاش کند مسیر ورود پیشفرض (client) را حذف کند و --login-path=client مشخص نشده باشد، هشدار داده و از کاربر تاییدیه میگیرد. این گزینه بهطور پیشفرض فعال است؛ از --skip-warn برای غیرفعال کردن آن استفاده کنید.
خالی کردن محتویات فایل مسیر ورود.
دستور reset گزینههای زیر را پس از نام دستور میپذیرد:
نمایش پیام راهنما برای دستور reset و خروج.
برای دیدن پیام راهنمای کلی، از mysql_config_editor --help استفاده کنید.
نوشتن یک مسیر ورود در فایل مسیر ورود.
این دستور تنها گزینههایی را در مسیر ورود مینویسد که با گزینههای --host، --password، --port، --socket و --user مشخص شده باشند. اگر هیچیک از این گزینهها داده نشوند، mysql_config_editor مسیر ورود را به عنوان یک گروه خالی مینویسد.
دستور set گزینههای زیر را پس از نام دستور میپذیرد:
نمایش پیام راهنما برای دستور set و خروج.
برای دیدن پیام راهنمای کلی، از mysql_config_editor --help استفاده کنید.
نام میزبان برای نوشتن در مسیر ورود.
مسیر ورود برای ایجاد. در صورت مشخص نشدن این گزینه، نام مسیر ورود پیشفرض client است.
درخواست یک گذرواژه برای نوشتن در login path. پس از اینکه mysql_config_editor اعلان را نمایش داد، گذرواژه را تایپ کرده و کلید Enter را فشار دهید. برای جلوگیری از مشاهدهٔ گذرواژه توسط کاربران دیگر، mysql_config_editor آن را بازتاب (echo) نمیدهد.
برای مشخص کردن یک گذرواژهٔ خالی، در اعلان گذرواژه کلید Enter را فشار دهید. login path حاصل که در فایل login path نوشته میشود، شامل خطی مانند این خواهد بود:
password =
شماره درگاه TCP/IP برای نوشتن در login path.
نام فایل سوکت Unix برای نوشتن در login path.
نام کاربری برای نوشتن در login path.
در صورتی که دستور قصد بازنویسی یک login path موجود را داشته باشد، هشدار داده و از کاربر تایید میخواهد. این گزینه بهطور پیشفرض فعال است؛ برای غیرفعال کردن آن از --skip-warn استفاده کنید.
کپیرایت و تکثیر (COPYRIGHT)
کپیرایت © 1997, 2026 متعلق به Oracle و/یا شرکتهای وابسته به آن است.
این مستندات نرمافزار آزاد است؛ شما میتوانید آن را تنها تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License) همانطور که توسط بنیاد نرمافزارهای آزاد منتشر شده است، بازتوزیع کرده و/یا تغییر دهید؛ نسخهٔ ۲ مجوز.
این مستندات با این امید که مفید باشد توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید.
شما باید به همراه این برنامه نسخهای از مجوز عمومی همگانی گنو را دریافت کرده باشید؛ در غیر این صورت، به بنیاد نرمافزارهای آزاد به نشانی 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA بنویسید یا به http://www.gnu.org/licenses مراجعه کنید.
همچنین ببینید (SEE ALSO)
برای اطلاعات بیشتر، لطفاً به کتابچه راهنمای مرجع MySQL مراجعه کنید که ممکن است از قبل بهصورت محلی نصب شده باشد و همچنین بهصورت آنلاین در http://dev.mysql.com/doc در دسترس است.
نویسندگان (AUTHORS)
شرکت Oracle (http://dev.mysql.com).
| 03/25/2026 | MySQL 9.7 |