'\" t .\" Title: mysqlrouter .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 03/24/2026 .\" Manual: MySQL Router .\" Source: MySQL 9.7 .\" Language: Persian .\" .TH "MYSQLROUTER" "1" "03/24/2026" "MySQL 9\&.7" "MySQL Router" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" mysqlrouter \- مسیریاب پایگاه داده MySQL .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBmysqlrouter\ [\fR\fB\fIoptions\fR\fR\fB]\fR\ 'u \fBmysqlrouter [\fR\fB\fIoptions\fR\fR\fB]\fR .SH "توضیحات (DESCRIPTION)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} خلاصه‌ی گزینه‌های mysqlrouter .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} شرح گزینه‌های mysqlrouter .RE .PP مسیریاب MySQL Router گزینه‌های خط فرمانی را می‌پذیرد که به \fBmysqlrouter\fR ارسال می‌شوند تا بر رفتار آن تأثیر بگذارند، یا مسیریاب را بر اساس یک InnoDB Cluster راه‌اندازی اولیه (bootstrap) کنند\&. .PP هنگام راه‌اندازی Router، می‌توانید به صورت اختیاری از \fB\-\-config\fR برای تعیین مکان فایل پیکربندی اصلی استفاده کنید (در غیر این صورت از مکان پیش‌فرض استفاده می‌شود) و از \fB\-\-extra\-config\fR برای یک فایل پیکربندی اضافی بهره ببرید\&. .PP گزینه‌های خط فرمان راه‌اندازی اولیه بر فایل‌ها و دایرکتوری‌های تولیدشده که هنگام شروع MySQL Router استفاده می‌شوند، تأثیر می‌گذارند\&. خلاصه گزینه‌های mysqlrouterشرح گزینه‌های mysqlrouter .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-version\fR, \fB\-V\fR .TS allbox tab(:); lB l. T{ قالب خط فرمان T}:T{ --version , -V T} .TE .sp 1 شماره نگارش و اطلاعات مرتبط با برنامه را نمایش می‌دهد و خارج می‌شود\&. برای نمونه: .sp .if n \{\ .RS 4 .\} .nf $> \fBmysqlrouter \-\-version\fR MySQL Router v9\&.7\&.0 on Linux (64\-bit) (GPL community edition) .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-help\fR, \fB\-?\fR .TS allbox tab(:); lB l. T{ قالب خط فرمان T}:T{ --help , -? T} .TE .sp 1 راهنما و اطلاعات تکمیلی را نمایش می‌دهد و خارج می‌شود\&. .sp گزینه \fB\-\-help\fR یک مزیت اضافی دارد\&. علاوه بر شرح هر یک از گزینه‌ها، گزینه \fB\-\-help\fR مسیرهای استفاده‌شده برای یافتن فایل پیکربندی و همچنین چندین مسیر پیش‌فرض را نمایش می‌دهد\&. گزیده زیر از خروجی \fB\-\-help\fR نمونه‌ای را از یک ماشین اوبونتو 16\&.04 نشان می‌دهد: .sp .if n \{\ .RS 4 .\} .nf $> \fBmysqlrouter \-\-help\fR \&.\&.\&. Start MySQL Router\&. Configuration read from the following files in the given order (enclosed in parentheses means not available for reading): (/etc/mysqlrouter/mysqlrouter\&.conf) /home/philip/\&.mysqlrouter\&.conf Plugin Path: /usr/lib/x86_64\-linux\-gnu/mysqlrouter Default Log Directory: /var/log/mysqlrouter Default Persistent Data Directory: /var/lib/mysqlrouter Default Runtime State Directory: /run/mysqlrouter Usage: mysqlrouter [\-V|\-\-version] [\-?|\-\-help] \&.\&.\&. .fi .if n \{\ .RE .\} .sp بخش پیکربندی ترتیب مسیرهایی را که ممکن است برای خواندن فایل پیکربندی استفاده شوند نشان می‌دهد\&. در این حالت، تنها فایل دوم قابل دسترسی است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-bootstrap \fR\fB\fIURI\fR\fR, \fB\-B \fR\fB\fIURI\fR\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --bootstrap URI, -B URI T} T{ نوع T}:T{ String T} .TE .sp 1 گزینه اصلی برای انجام راه‌اندازی اولیه (bootstrap) در MySQL Router از طریق اتصال به کارساز فراداده (metadata server) متعلق به InnoDB Cluster در URI ارائه‌شده\&. MySQL Router خود را بر اساس اطلاعات دریافت‌شده از کارساز فراداده InnoDB Cluster پیکربندی می‌کند\&. در صورت نیاز، گذرواژه درخواست می‌شود\&. اگر نام کاربری به عنوان بخشی از URI ارائه نشده باشد، نام کاربری پیش‌فرض «root» استفاده می‌شود\&. برای اطلاعات درباره استفاده از مسیر برای مشخص کردن نمونه کارساز، \m[blue]\fBConnecting Using URI\-Like Connection Strings\fR\m[]\&\s-2\u[1]\d\s+2 را ببینید\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br در حالی که \fB\-\-bootstrap\fR یک URI را برای اتصالات TCP/IP می‌پذیرد، استفاده از گزینه \fB\-\-bootstrap\-socket\fR همراه با نام سوکت دامنه یونیکس (Unix domain socket) محلی، بخش «host:port» از URI ارائه‌شده به گزینه \fB\-\-bootstrap\fR را با سوکت روی همان ماشین جایگزین می‌کند\&. .sp .5v .RE به‌طور پیش‌فرض، فرایند راه‌اندازی اولیه، یک پیکربندی سراسری در سطح سیستم از MySQL Router انجام می‌دهد\&. تنها یک نمونه از MySQL Router می‌تواند برای عملکرد سراسری سیستم پیکربندی شود\&. نمونه سیستمی MySQL Router دارای router_name با مقدار «system» است\&. در صورتی که نمونه‌های بیشتری مد نظر باشد، از گزینه \fB\-\-directory\fR برای ایجاد نصب‌های مستقل و خودکفا از MySQL Router استفاده کنید\&. .sp \fIURI\fR: یک نمونه کارساز از یک InnoDB Cluster برای واکشی اطلاعات فراداده\&. اگر \fIURI\fR ارائه‌شده یک نمونه فقط‌خواندنی (read-only) باشد، MySQL Router به‌طور خودکار دوباره به یک نمونه خواندنی-نوشتنی (read-write) در InnoDB Cluster متصل می‌شود تا بتواند MySQL Router را ثبت کند\&. .sp اگر هنگام شروع MySQL Router با گزینه \fB\-\-bootstrap\fR، یک فایل پیکربندی از قبل وجود داشته باشد، router_id موجود در آن فایل مجدداً استفاده می‌شود و فرایند پیکربندی دوباره رخ می‌دهد\&. فایل پیکربندی از نو تولید شده و حساب کارساز فراداده متعلق به MySQL Router مجدداً ایجاد می‌شود، هرچند با همان نام قبلی\&. .sp در طول فرایند پیکربندی مجدد، تمام تغییرات اعمال‌شده در یک فایل پیکربندی موجود نادیده گرفته می‌شوند\&. برای سفارشی‌سازی یک فایل پیکربندی و در عین حال حفظ توانایی پیکربندی مجدد خودکار (راه‌اندازی اولیه)، می‌توانید از گزینه خط فرمان \fB\-\-extra\-config\fR برای تعیین یک فایل پیکربندی اضافی که پس از فایل پیکربندی اصلی خوانده می‌شود استفاده کنید\&. این گزینه‌های پیکربندی اعمال می‌شوند زیرا این فایل پیکربندی اضافی پس از فایل پیکربندی اصلی بارگیری می‌شود\&. .sp فرایند راه‌اندازی اولیه یک حساب کاربری جدید MySQL با گذرواژه‌ای تصادفی ایجاد می‌کند تا توسط آن نمونه خاص MySQL Router استفاده شود\&. این حساب کاربری توسط MySQL Router هنگام اتصال به کارساز فراداده و InnoDB Cluster برای واکشی اطلاعات درباره وضعیت فعلی آن استفاده می‌شود\&. برای اطلاعات تفصیلی درباره این کاربر، از جمله نحوه ذخیره گذرواژه آن و امتیازات مورد نیاز در MySQL، مستندات مربوط به \fBگزینه کاربر MySQL (MySQL user option)\fR را ببینید\&. .sp فایل پیکربندی تولیدشده mysqlrouter\&.conf نام دارد و مکان آن به نوع نمونه در حال پیکربندی، سیستم، و بسته بستگی دارد\&. برای نصب‌های سراسری در سطح سیستم، فایل پیکربندی تولیدشده به دایرکتوری پیکربندی سیستم مانند /etc یا %PROGRAMDATA%\eMySQL\eMySQL Router\e افزوده می‌شود\&. اجرای mysqlrouter \-\-help این مکان را نمایش می‌دهد\&. .sp گزینه \fB\-\-user\fR در صورت اجرای راه‌اندازی اولیه با کاربر ریشه/مدیر سیستم (uid=0) الزامی است\&. اگرچه توصیه نمی‌شود، اما اجبار کاربر ریشه با ارسال نام آن به عنوان آرگومان، مانند \fI\-\-user=root\fR امکان‌پذیر است\&. .sp حداقل دسترسی‌های GRANT مورد نیاز برای اجرای \fB\-\-bootstrap\fR عبارتند از: .sp .if n \{\ .RS 4 .\} .nf GRANT CREATE USER ON *\&.* TO \*(Aq\fIbootstrapuser\fR\*(Aq@\*(Aq%\*(Aq WITH GRANT OPTION; GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE ON mysql_innodb_cluster_metadata\&.* TO \*(Aq\fIbootstrapuser\fR\*(Aq@\*(Aq%\*(Aq; GRANT SELECT ON mysql\&.user TO \*(Aq\fIbootstrapuser\fR\*(Aq@\*(Aq%\*(Aq; GRANT SELECT ON performance_schema\&.replication_group_members TO \*(Aq\fIbootstrapuser\fR\*(Aq@\*(Aq%\*(Aq; GRANT SELECT ON performance_schema\&.replication_group_member_stats TO \*(Aq\fIbootstrapuser\fR\*(Aq@\*(Aq%\*(Aq; GRANT SELECT ON performance_schema\&.global_variables TO \*(Aq\fIbootstrapuser\fR\*(Aq@\*(Aq%\*(Aq; .fi .if n \{\ .RE .\} .sp استفاده از \fB\-\-bootstrap\fR مقادیر پیش‌فرضی را به فایل پیکربندی تولیدشده MySQL Router می‌افزاید و برخی از این مقادیر پیش‌فرض به شرایط دیگری وابسته‌اند\&. در زیر برخی از شرایطی که بر مقادیر پیش‌فرض تولیدشده اثر می‌گذارند فهرست شده است، جایی که پیش‌فرض با ارسال \fB\-\-bootstrap\fR به‌تنهایی تعریف می‌شود\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B جدول\ \&4.2.\ \&شرایط مؤثر بر مقادیر پیش‌فرض \-\-bootstrap .TS allbox tab(:); lB lB. T{ شرط T}:T{ توضیحات T} .T& l l l l l l l l l l. T{ \fB--conf-base-port\fR T}:T{.PP مقادیر تولیدشدهٔ \fBbind_port\fR را برای هر نوع اتصال تغییر می‌دهد. .PP به‌طور پیش‌فرض، مقادیر تولیدشدهٔ \fBbind_port\fR به این صورت است: برای پروتکل کلاسیک، Read-Write از 6446 و Read-Only از 6447 استفاده می‌کند، و برای پروتکل X، اتصال Read-Write از 6448 و Read-Only از 6449 استفاده می‌نماید. .PP تنظیم \fB--conf-base-port\fR روی 0، مقادیر پیش‌فرض \fBbind_port\fR را به مقادیر پیش‌فرض زیر تغییر می‌دهد: برای پروتکل کلاسیک، Read-Write از 6446 و Read-Only از 6447، و برای پروتکل X، اتصال Read-Write از 64460 و Read-Only از 64470 استفاده می‌کند. T} T{ \fB--conf-use-sockets\fR T}:T{ تعاریف \fBsocket\fR را برای هر نوع اتصال درج می‌کند. T} T{ \fB--conf-skip-tcp\fR T}:T{ تعاریف اتصال TCP/IP تعریف نمی‌شوند. T} T{ \fB--directory\fR T}:T{ بر تمام مسیرهای فایل تأثیر می‌گذارد و همچنین فایل‌های اضافی تولید می‌کند. T} T{ سایر موارد T}:T{ این فهرست جامع نیست، گزینه‌ها و شرایط دیگر نیز بر مقادیر تولیدشده تأثیر می‌گذارند. T} .TE .sp 1 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-bootstrap\-socket \fR\fB\fIsocket_name\fR\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --bootstrap-socket socket_name T} T{ وابسته به پلتفرم T}:T{ Linux T} .TE .sp 1 همراه با \fB\-\-bootstrap\fR جهت راه‌اندازی اولیه با استفاده از یک سوکت محلی دامنه یونیکس (Unix domain socket) به‌جای TCP/IP به‌کار می‌رود\&. مقدار \fB\-\-bootstrap\-socket\fR بخش "host:port" را در تعریف \fB\-\-bootstrap\fR با نام سوکت تعیین‌شده برای اتصال به کارساز فرادادهٔ MySQL با استفاده از سوکت‌های دامنه یونیکس جایگزین می‌کند\&. این همان نمونهٔ MySQL است که راه‌اندازی اولیه از آن صورت می‌گیرد، و در صورت استفاده از سوکت‌ها، این نمونه باید روی همان دستگاه باشد\&. برای جزئیات بیشتر دربارهٔ نحوهٔ کارکرد راه‌اندازی اولیه، \fB\-\-bootstrap\fR\& را ببینید\&. .sp این گزینه با گزینهٔ خط فرمان \fB\-\-conf\-use\-sockets\fR که گزینهٔ فایل پیکربندی \fBsocket\fR را در طول فرایند راه‌اندازی اولیه تنظیم می‌کند، متفاوت است\&. .sp این گزینه در Windows در دسترس نیست\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-core\-file\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --core-file[={0|1}] T} T{ نوع T}:T{ بولی T} T{ مقدار پیش‌فرض T}:T{ 0 T} .TE .sp 1 در صورت متوقف شدن غیرمنتظرهٔ \fBmysqlrouter\fR یک فایل core می‌نویسد\&. نام و محل فایل core به سیستم بستگی دارد\&. در Linux، یک فایل core با نام core\&.\fIpid\fR در دایرکتوری کاری جاری فرایند نوشته می‌شود\&. \fIpid\fR بیانگر شناسهٔ فرایند (PID) مربوط به فرایند کارساز است\&. در macOS، اگر فرایند دارای مجوز com\&.apple\&.security\&.get\-task\-allow باشد، یک فایل core با نام core\&.\fIpid\fR در دایرکتوری /cores نوشته می‌شود\&. در Solaris، از دستور \fBcoreadm\fR برای تعیین محل نوشتن فایل core و نحوهٔ نام‌گذاری آن استفاده کنید\&. در Windows، یک فایل minidump با نام mysqlrouter\&.\fI{pid}\fR\&.dmp در دایرکتوری کاری جاری فرایند نوشته می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-directory \fR\fB\fIdir_path\fR\fR, \fB\-d \fR\fB\fIdir_path\fR\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --directory dir_path, -d dir_path T} T{ نوع T}:T{ رشته T} .TE .sp 1 مشخص می‌کند که به‌جای پیکربندی نمونهٔ سراسری router در سیستم، یک نصب خودکفای MySQL Router در دایرکتوری تعریف‌شده ایجاد خواهد شد\&. این امر همچنین امکان ایجاد چندین نمونهٔ router را روی یک سیستم فراهم می‌سازد\&. .sp ساختار دایرکتوری خودکفا برای Router به این صورت است: .sp .if n \{\ .RS 4 .\} .nf $path/start\&.sh $path/stop\&.sh $path/mysqlrouter\&.pid $path/mysqlrouter\&.conf $path/mysqlrouter\&.key $path/run $path/run/keyring $path/data $path/log $path/log/mysqlrouter\&.log .fi .if n \{\ .RE .\} .sp در صورت مشخص شدن این گزینه، بر خلاف دایرکتوری وضعیت زمان اجرای سراسری سیستم، فایل keyring در دایرکتوری وضعیت زمان اجرای آن نمونه، زیر run/ در دایرکتوری مشخص‌شده ذخیره می‌شود\&. .sp اگر \fB\-\-conf\-use\-sockets\fR نیز فعال باشد، فایل‌های سوکت تولیدشده نیز به این دایرکتوری اضافه می‌شوند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-master\-key\-writer\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --master-key-writer file_path T} T{ نوع T}:T{ رشته T} .TE .sp 1 این گزینهٔ اختیاری راه‌اندازی اولیه، اسکریپتی را می‌پذیرد که کلید اصلی را از \fISTDIN\fR می‌خواند\&. این گزینه همچنین از متغیر محیطی \fIROUTER_ID\fR استفاده می‌کند که پیش از فراخوانی اسکریپت \fBmaster\-key\-writer\fR توسط MySQL Router تنظیم می‌شود\&. .sp گزینه‌های \fBmaster\-key\-writer\fR و \fBmaster\-key\-reader\fR باید همراه با یکدیگر استفاده شوند، و استفاده از آن‌ها بدین معنی است که گزینهٔ \fBmaster_key_file\fR نباید در mysqlrouter\&.conf تعریف شده باشد، زیرا کلید اصلی در فایل کلید اصلی mysqlrouter\&.key نوشته نمی‌شود\&. .sp این مقدار همچنین در فایل پیکربندی تولیدشدهٔ MySQL Router به‌عنوان گزینهٔ \fBmaster\-key\-writer\fR در بخش [DEFAULT] نوشته می‌شود\&. .sp محتوای نمونه از یک اسکریپت bash به‌نام writer\&.sh که در مثال ما استفاده شده است: .sp .if n \{\ .RS 4 .\} .nf #!/bin/bash KID_=$(keyctl padd user ${ROUTER_ID} @us <&0) .fi .if n \{\ .RE .\} .sp نمونهٔ استفاده: .sp .if n \{\ .RS 4 .\} .nf $> mysqlrouter \-\-bootstrap=127\&.0\&.0\&.1:3310 \-\-master\-key\-reader=\&./reader\&.sh \-\-master\-key\-writer=\&./writer\&.sh .fi .if n \{\ .RE .\} .sp این امر همچنین بر mysqlrouter\&.conf تولیدشده تأثیر می‌گذارد، برای مثال: .sp .if n \{\ .RS 4 .\} .nf [DEFAULT] \&.\&.\&. master\-key\-reader=reader\&.sh master\-key\-writer=writer\&.sh .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 ```.IP \(bu 2.3 .\} \fB\-\-master\-key\-reader\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --master-key-reader file_path T} T{ نوع T}:T{ String T} .TE .sp 1 این گزینهٔ اختیاری راه‌اندازی (bootstrap)، اسکریپتی را می‌پذیرد که کلید اصلی را در \fISTDOUT\fR\& می‌نویسد. همچنین از متغیر محیطی \fIROUTER_ID\fR استفاده می‌کند که پیش از فراخوانی اسکریپت \fBmaster\-key\-reader\fR توسط MySQL Router مقداردهی شده است\&. .sp گزینه‌های \fBmaster\-key\-reader\fR و \fBmaster\-key\-writer\fR باید همراه یکدیگر استفاده شوند، و استفاده از آن‌ها بدین معناست که گزینهٔ \fBmaster_key_file\fR نباید در mysqlrouter\&.conf تعریف شده باشد؛ زیرا کلید اصلی در فایل کلید اصلی mysqlrouter\&.key نوشته نمی‌شود و در عوض از مقدار ارائه‌شده توسط اسکریپتِ این گزینه استفاده می‌گردد\&. .sp این مقدار همچنین در فایل پیکربندی تولیدشدهٔ MySQL Router به‌عنوان گزینهٔ [DEFAULT] برای \fBmaster\-key\-reader\fR نوشته می‌شود\&. .sp محتوای نمونه‌ای از یک اسکریپت bash به نام reader\&.sh که در مثال ما استفاده شده است: .sp .if n \{\ .RS 4 .\} .nf #!/bin/bash KID_=$(keyctl search @us user ${ROUTER_ID} 2>/dev/null) if [ ! \-z $KID_ ]; then keyctl pipe $KID_ fi .fi .if n \{\ .RE .\} .sp مثال استفاده: .sp .if n \{\ .RS 4 .\} .nf $> mysqlrouter \-\-bootstrap=127\&.0\&.0\&.1:3310 \-\-master\-key\-reader=\&./reader\&.sh # Or, multiple hosts\-\-master\-key\-writer=\&./writer\&.sh .fi .if n \{\ .RE .\} .sp این مورد همچنین بر mysqlrouter\&.conf تولیدشده تأثیر می‌گذارد، برای مثال: .sp .if n \{\ .RS 4 .\} .nf [DEFAULT] \&.\&.\&. master\-key\-reader=reader\&.sh master\-key\-writer=writer\&.sh .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-strict\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --strict T} T{ نوع T}:T{ String T} .TE .sp 1 حالت سخت‌گیرانه (strict mode) را فعال می‌کند؛ به‌عنوان مثال، باعث می‌شود که بررسی اعتبارسنجی کاربر \fB\-\-account\fR در مرحلهٔ راه‌اندازی (bootstrap)، در صورت عدم قبولی کاربر مشخص‌شده در این بررسی، به‌جای اینکه تنها هشداری صادر کرده و ادامه دهد، فرایند راه‌اندازی را متوقف سازد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-account\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --account username T} T{ نوع T}:T{ String T} .TE .sp 1 گزینه‌ای در راه‌اندازی (bootstrap) برای تعیین کاربر MySQL مورد استفاده، که یا از حساب کاربری موجود MySQL استفادهٔ مجدد می‌کند و یا حسابی جدید می‌سازد؛ این رفتار توسط گزینهٔ مرتبط \fB\-\-account\-create\fR کنترل می‌شود\&. .sp با \fB\-\-account\fR، استفاده به سمت سهولت در مدیریت به‌جای سهولت در استقرار گرایش دارد، زیرا چندین router ممکن است از یک حساب کاربری مشترک استفاده کنند، و نام کاربری و گذرواژه به‌جای تولید خودکار، به‌صورت دستی مشخص می‌شوند\&. .sp تنظیم این گزینه، صرف‌نظر از موجود بودن گذرواژه در keyring، اعلانی برای دریافت گذرواژهٔ این حساب نمایش می‌دهد\&. .sp راه‌اندازی بدون ارسال \fB\-\-account\fR یک حساب موجود سرور MySQL را مجدداً ایجاد نمی‌کند\&. .sp استفاده از این گزینه فرض را بر این می‌گذارد که کاربر مجوزهای دسترسی کافی برای Router دارد، چرا که فرایند راه‌اندازی تلاشی برای افزودن مجوزهای کمبود به حساب‌های موجود نمی‌کند\&. فرایند راه‌اندازی مجوزها را راستی‌آزمایی کرده و اطلاعات مربوط به بررسی‌های ناموفق را در کنسول نمایش می‌دهد\&. فرایند راه‌اندازی علی‌رغم این بررسی‌های ناموفق به کار خود ادامه می‌دهد مگر اینکه گزینهٔ اختیاری \fB\-\-strict\fR نیز استفاده شده باشد\&. نمونه‌ای از مجوزهای لازم: .sp .if n \{\ .RS 4 .\} .nf GRANT USAGE ON *\&.* TO `theuser`@`%` GRANT SELECT, EXECUTE ON `mysql_innodb_cluster_metadata`\&.* TO `theuser`@`%` GRANT INSERT, UPDATE, DELETE ON `mysql_innodb_cluster_metadata`\&.`routers` TO `theuser`@`%` GRANT INSERT, UPDATE, DELETE ON `mysql_innodb_cluster_metadata`\&.`v2_routers` TO `theuser`@`%` GRANT SELECT ON `performance_schema`\&.`global_variables` TO `theuser`@`%` GRANT SELECT ON `performance_schema`\&.`replication_group_member_stats` TO `theuser`@`%` GRANT SELECT ON `performance_schema`\&.`replication_group_members` TO `theuser`@`%` .fi .if n \{\ .RE .\} .sp گذرواژه از طریق خط فرمان پذیرفته نمی‌شود\&. برای نمونه، وارد کردن "foo:bar" فرض می‌کند که "foo:bar" نام کاربری مدنظر است، نه کاربر \fIfoo\fR با گذرواژهٔ \fIbar\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-account\-create\fR .TS allbox tab(:); lB l lB l lB l lB l. T{ قالب خط فرمان T}:T{ --account-create behavior T} T{ نوع T}:T{ String T} T{ مقدار پیش‌فرض T}:T{ if-not-exists T} T{ مقادیر معتبر T}:T{.PP if-not-exists .PP always .PP never T} .TE .sp 1 سیاست ایجاد حساب کاربری را جهت محافظت در برابر راه‌اندازی اولیه (bootstrap) ناخواسته با حساب کاربری اشتباه تعیین می‌کند\&. مقادیر ممکن عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} if\-not\-exists (پیش‌فرض): در هر حالت راه‌اندازی اولیه را انجام می‌دهد؛ اگر حساب کاربری وجود داشته باشد دوباره از آن استفاده می‌کند، در غیر این صورت آن را می‌سازد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} always: تنها در صورتی راه‌اندازی اولیه را انجام می‌دهد که حساب کاربری از قبل وجود نداشته باشد؛ و آن را می‌سازد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} never: تنها در صورتی راه‌اندازی اولیه را انجام می‌دهد که حساب کاربری از قبل وجود داشته باشد؛ و از آن مجدداً استفاده می‌کند\&. .RE .sp این گزینه مستلزم آن است که گزینهٔ \fB\-\-account\fR نیز استفاده شود، و \fB\-\-account\-host\fR استفاده نشود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-account\-host\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --account-host host_pattern T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ % T} .TE .sp 1 الگوی میزبانی مورد استفاده برای حساب‌های کاربری ایجاد شده توسط MySQL Router در طول فرآیند راه‌اندازی اولیه\&. این گزینه اختیاری است و مقدار پیش‌فرض آن \*(Aq%\*(Aq است\&. .sp برای تعریف الگوهای متعدد، این گزینه را چندین بار وارد کنید؛ در این حالت، حساب‌های کاربری MySQL ایجاد شده از گذرواژهٔ یکسانی استفاده خواهند کرد\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br ابزار Router بررسی‌های صحت‌سنجی انجام نمی‌دهد و تضمین نمی‌کند که این الگو به Router مجوز اتصال می‌دهد\&. .sp .5v .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br فرآیند راه‌اندازی اولیه، حساب‌های کاربری موجود Router را با حذف و ساخت دوبارهٔ کاربر مورد استفادهٔ مجدد قرار می‌دهد، و این فرآیند ساخت مجدد کاربر برای تک‌تک میزبان‌ها اعمال می‌شود\&. .sp .5v .RE مثال‌ها: .sp .if n \{\ .RS 4 .\} .nf # One host $> mysqlrouter \-\-bootstrap localhost:3310 \-\-account\-host host1 # Or, multiple hosts $> mysqlrouter \-\-bootstrap localhost:3310 \-\-account\-host host1 \-\-account\-host host2 \-\-account\-host host3 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-conf\-use\-sockets\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --conf-use-sockets T} T{ مختص پلتفرم T}:T{ Linux T} .TE .sp 1 سوکت‌های دامنه یونیکس (Unix domain sockets) محلی را فعال می‌کند\&. .sp این گزینه هنگام راه‌اندازی اولیه استفاده می‌شود، و فعال کردن آن گزینهٔ \fBsocket\fR را به فایل پیکربندی تولیدشده اضافه می‌کند\&. .sp نام فایل سوکت تولیدشده به گزینهٔ \fBprotocol\fR بستگی دارد\&. با فعال بودن پروتکل کلاسیک، نام فایل برای اتصال‌های خواندن-نوشتن mysql\&.sock و برای اتصال‌های فقط‌خواندنی mysqlro\&.sock خواهد بود\&. با فعال بودن پروتکل X Protocol، نام فایل برای اتصال‌های خواندن-نوشتن mysqlx\&.sock و برای اتصال‌های فقط‌خواندنی mysqlxro\&.sock است\&. .sp این گزینه در Windows در دسترس نیست\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-conf\-use\-gr\-notifications\fR .TS allbox tab(:); lB l. T{ قالب خط فرمان T}:T{ --conf-use-gr-notifications T} .TE .sp 1 گزینهٔ \fBuse_gr_notifications\fR [metadata_cache] را در طول راه‌اندازی اولیه فعال می‌کند\&. هنگامی که فعال باشد، Router به‌صورت ناهمگام از اکثر تغییرات کلاستر مطلع می‌شود\&. برای اطلاعات بیشتر \fBuse_gr_notifications\fR را ببینید\&. علاوه بر این، استفاده از این گزینه مقادیر \fBttl\fR=60 و \fBauth_cache_refresh_interval\fR=60 را تنظیم می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1.IP \(bu 2.3 .\} \fB\-\-pid\-file \fR\fB\fIpath\fR\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --pid-file path T} T{ نوع T}:T{ رشته T} .TE .sp 1 مکان فایل PID را مشخص می‌کند\&. این مقدار می‌تواند به سه روش مختلف تعیین شود (به ترتیب اولویت): همین گزینهٔ خط فرمان \fB\-\-pid\-file\fR\c ، تنظیم \fBpid_file\fR در فایل پیکربندی Router، یا تعریف متغیر محیطی ROUTER_PID\&. .sp اگر \fB\-\-bootstrap\fR مشخص شده باشد، تعیین \-\-pid\-file باعث بروز خطا در Router می‌شود\&. این برعکس ROUTER_PID و گزینهٔ پیکربندی pid_file است که در صورت تعیین \-\-bootstrap نادیده گرفته می‌شوند\&. .sp اگر \fB\-\-bootstrap\fR مشخص نشده باشد، موارد زیر باعث بروز خطا در Router می‌شوند: فایل مشخص‌شده با \-\-pid\-file از قبل وجود داشته باشد، pid_file یا ROUTER_PID تنظیم شده اما خالی باشند، یا اینکه Router نتواند فایل PID را بنویسد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-report\-host\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --report-host hostname T} T{ نوع T}:T{ رشته T} .TE .sp 1 به‌صورت اختیاری نام میزبان (hostname) برنامهٔ Router را تعیین می‌کند، به‌جای اینکه برای تشخیص نام میزبانِ قابل‌مشاهده از خارج که در طول فرآیند bootstrap در متاداده ثبت می‌شود، به تشخیص خودکار اتکا شود\&. .sp برنامهٔ Router در دسترس بودن نام میزبان ارائه‌شده را بررسی یا تأیید نمی‌کند، اما برای اعتبارسنجی نام‌های میزبان از RFC 1123 و برای اعتبارسنجی آدرس‌ها از RFC 2181 استفاده می‌کند\&. .sp نام میزبان ارائه‌شده در فیلد host_name از جدول mysql_innodb_cluster_metadata\&.hosts در مخزن متادادهٔ کلاستر MySQL InnoDB نوشته می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-conf\-skip\-tcp\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --conf-skip-tcp T} T{ مختص پلتفرم T}:T{ Linux T} .TE .sp 1 از پیکربندی درگاه (پورت) TCP برای شنود اتصالات ورودی صرف‌نظر می‌کند\&. همچنین ببینید: \fB\-\-conf\-use\-sockets\fR\&. .sp این گزینه در Windows در دسترس نیست\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-conf\-base\-port \fR\fB\fIport_num\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --conf-base-port port_num T} T{ نوع T}:T{ عدد صحیح T} T{ مقدار پیش‌فرض T}:T{ 0 T} .TE .sp 1 مقدار پایه (نخستین مقدار) مورداستفاده برای درگاه‌های TCP شنونده با تنظیم \fBbind_port\fR به ازای هر مسیر bootstrap‌شده\&. .sp این مقدار برای مسیر خواندن/نوشتن (read\-write) کلاسیک استفاده می‌شود و هر درگاه تخصیص‌یافتهٔ بعدی یک واحد افزایش می‌یابد\&. ترتیب تنظیم درگاه‌ها بدین‌گونه است: کلاسیک خواندن/نوشتن / فقط‌خواندنی (read\-only)، و سپس پروتکل x خواندن/نوشتن / فقط‌خواندنی\&. .sp تنظیم \fB\-\-conf\-base\-port\fR روی 0، مقادیر پیش‌فرض \fBbind_port\fR را به مقادیر پیش‌فرض زیر تغییر می‌دهد: برای پروتکل کلاسیک، Read\-Write از 6446 و Read\-Only از 6447 استفاده می‌کند، و برای پروتکل X، حالت Read\-Write از 64460 و Read\-Only از 64470 استفاده می‌نماید\&. .sp نمونهٔ استفاده: .sp .if n \{\ .RS 4 .\} .nf \fB# Example without \-\-conf\-base\-port\fR $> mysqlrouter \-\-bootstrap root@localhost:3310 \&.\&.\&. Classic MySQL protocol connections to cluster \*(AqdevCluster\*(Aq: \- Read/Write Connections: localhost:6446 \- Read/Only Connections: localhost:6447 X protocol connections to cluster \*(AqdevCluster\*(Aq: \- Read/Write Connections: localhost:6448 \- Read/Only Connections: localhost:6449 \fB# Example demonstrating \-\-conf\-base\-port set to 0\fR $> mysqlrouter \-\-bootstrap root@localhost:3310 \-\-conf\-base\-port 0 \&.\&.\&. Classic MySQL protocol connections to cluster \*(AqdevCluster\*(Aq: \- Read/Write Connections: localhost:6446 \- Read/Only Connections: localhost:6447 X protocol connections to cluster \*(AqdevCluster\*(Aq: \- Read/Write Connections: localhost:64460 \- Read/Only Connections: localhost:64470 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-conf\-bind\-address \fR\fB\fIaddress\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --conf-bind-address address T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ 0.0.0.0 T} .TE .sp 1 مقدار \fBbind_address\fR تنظیم‌شده توسط \fB\-\-bootstrap\fR را در فایل پیکربندی ایجادشدهٔ Router تغییر می‌دهد\&. به‌طور پیش‌فرض، فرآیند راه‌اندازی (bootstrapping) مقدار \fBbind_address=0\&.0\&.0\&.0\fR را برای هر مسیر تعیین می‌کند، و این گزینه آن مقدار را تغییر می‌دهد\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br اگر \fBbind_address\fR تعریف نشده باشد، مقدار پیش‌فرض \fBbind_address\fR برابر \fI127\&.0\&.0\&.1\fR است\&. .sp .5v .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1.IP \(bu 2.3 .\} \fB\-\-read\-timeout \fR\fB\fInum_seconds\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --read-timeout num_seconds T} T{ نوع T}:T{ عدد صحیح T} T{ مقدار پیش‌فرض T}:T{ 30 T} .TE .sp 1 تعداد ثانیه‌ها پیش از آنکه عملیات‌های خواندن از یک سرور فراداده (metadata server) منقضی‌شده تلقی شوند\&. .sp این گزینه بر عملیات‌های خواندن در طول فرایند راه‌اندازی اولیه (bootstrap) اثر می‌گذارد و همچنین با تنظیم گزینه مرتبط \fBread_timeout\fR در فایل تولید‌شده mysqlrouter\&.conf بر عملیات‌های عادی MySQL Router نیز تأثیرگذار است\&. .sp این گزینه ذیل فضای‌نام [DEFAULT] تنظیم می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-connect\-timeout \fR\fB\fInum_seconds\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --connect-timeout num_seconds T} T{ نوع T}:T{ عدد صحیح T} T{ مقدار پیش‌فرض T}:T{ 30 T} .TE .sp 1 تعداد ثانیه‌ها پیش از آنکه تلاش‌ها برای اتصال به یک سرور فراداده (metadata server) منقضی‌شده تلقی شوند\&. .sp این گزینه بر اتصال‌ها در طول فرایند راه‌اندازی اولیه (bootstrap) اثر می‌گذارد و همچنین با تنظیم گزینه مرتبط \fBconnect_timeout\fR در فایل تولید‌شده mysqlrouter\&.conf بر عملیات‌های عادی MySQL Router نیز تأثیرگذار است\&. .sp دو گونه برای \fIconnect_timeout\fR وجود دارد؛ گونه سرور فراداده ذیل فضای‌نام [DEFAULT] تعریف می‌شود، در حالی که گونه سرور MySQL ذیل فضای‌نام [routing] مشخص می‌گردد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-user {\fR\fB\fIuser_name\fR\fR\fB|\fR\fB\fIuser_id\fR\fR\fB}\fR, \fB\-u {\fR\fB\fIuser_name\fR\fR\fB|\fR\fB\fIuser_id\fR\fR\fB}\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --user {user_name|user_id}, -u {user_name|user_id} T} T{ مختص پلتفرم T}:T{ Linux T} T{ نوع T}:T{ رشته T} .TE .sp 1 اجرای \fBmysqlrouter\fR با کاربری که نام آن \fIuser_name\fR یا شناسه عددی کاربری آن \fIuser_id\fR است\&. \(lqکاربر\(rq در این زمینه به یک حساب کاربری ورود به سیستم اشاره دارد، نه یک کاربر MySQL که در جدول‌های دسترسی (grant tables) فهرست شده باشد\&. هنگام راه‌اندازی اولیه (bootstrapping)، مالکیت تمام فایل‌های تولید‌شده به این کاربر اختصاص می‌یابد و این کار همچنین گزینه مرتبط \fBuser\fR را تنظیم می‌کند\&. .sp این \fBuser\fR سیستم در فایل پیکربندی ذیل فضای‌نام [DEFAULT] تعریف می‌شود\&. برای اطلاعات بیشتر، مستندات گزینه \fBuser\fR را که توسط \fB\-\-user\fR پیکربندی می‌شود، ببینید\&. .sp در صورت اجرای راه‌اندازی اولیه با دسترسی مدیر سیستم (uid=0)، استفاده از گزینه \fB\-\-user\fR الزامی است\&. هرچند توصیه نمی‌شود، اما اجبار کاربر مدیر سیستم با دادن نام آن به عنوان یک آرگومان امکان‌پذیر است، مانند \fI\-\-user=root\fR\&. .sp این گزینه در Windows در دسترس نیست\&. .sp .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-name \fR\fB\fIrouter_name\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --name router_name T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ system T} .TE .sp 1 در راه‌اندازی اولیه (bootstrap)، یک نام نمادین برای یک نمونه Router مستقل مشخص می‌کند\&. این گزینه اختیاری است و به همراه \fB\-\-directory\fR به کار می‌رود\&. هنگام ایجاد چندین نمونه، نام‌ها باید یکتا باشند\&. .sp .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-force\-password\-validation\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --force-password-validation T} T{ مختص پلتفرم T}:T{ Linux T} .TE .sp 1 به‌طور پیش‌فرض، MySQL Router سازوکار validate_password سرور MySQL Server را نادیده می‌گیرد و در عوض بر اساس تنظیمات پیش‌فرض شناخته‌شده validate_password، یک گذرواژه قوی (STRONG) تولید کرده و به کار می‌برد\&. دلیل این امر آن است که validate_password می‌تواند توسط کاربر پیکربندی شود و Router نمی‌تواند تنظیمات سفارشی غیرمعمول را در نظر بگیرد\&. .sp این گزینه اطمینان حاصل می‌کند که اعتبارسنجی گذرواژه (validate_password) برای گذرواژه‌های تولیدشده نادیده گرفته نشود و به‌طور پیش‌فرض غیرفعال است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1.IP \(bu 2.3 .\} \fB\-\-password\-retries \fR\fB\fInum_retries\fR\fR .TS allbox tab(:); lB l lB l lB l lB l lB l. T{ قالب خط فرمان T}:T{ --password-retries num_retries T} T{ نوع T}:T{ عدد صحیح T} T{ مقدار پیش‌فرض T}:T{ 20 T} T{ حداقل مقدار T}:T{ 1 T} T{ حداکثر مقدار T}:T{ 10000 T} .TE .sp 1 تعداد دفعاتی را مشخص می‌کند که MySQL Router باید هنگام ساخت حساب کاربری با قوانین اعتبارسنجی گذرواژه، برای تولید گذرواژه تلاش کند\&. مقدار پیش‌فرض 20 است\&. محدودهٔ معتبر 1 تا 10000 است\&. .sp محتمل‌ترین دلیل برای شکست، تنظیمات سفارشی validate_password با الزامات غیرمعمول مانند حداقل 50 نویسه است\&. در این سناریوی شکست، احتمال دارد که \fB\-\-force\-password\-validation\fR روی true تنظیم شده باشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-force\fR .TS allbox tab(:); lB l. T{ قالب خط فرمان T}:T{ --force T} .TE .sp 1 اعمال اجباری پیکربندی مجدد بر روی یک نمونهٔ از پیش پیکربندی‌شده از Router روی میزبان\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-ssl\-mode \fR\fB\fImode\fR\fR .TS allbox tab(:); lB l lB l lB l lB l. T{ قالب خط فرمان T}:T{ --ssl-mode mode T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ PREFERRED T} T{ مقادیر معتبر T}:T{ .PP PREFERRED .PP DISABLED .PP REQUIRED .PP VERIFY_CA .PP VERIFY_IDENTITY T} .TE .sp 1 حالت اتصال SSL برای استفاده در طول bootstrap و کارکرد عادی هنگام اتصال به سرور فراداده (metadata server)\&. مشابه با \fB\-\-ssl\-mode\fR در کلاینت \fBmysql\fR\&. .sp در طول bootstrap، تمام اتصالات برقرارشده به سرورهای فراداده توسط Router از گزینه‌های SSL مشخص‌شده استفاده خواهند کرد\&. اگر \fBssl_mode\fR در پیکربندی مشخص نشده باشد، مقدار پیش‌فرض آن PREFERRED خواهد بود\&. در طول کارکرد عادی، پس از راه‌اندازی Router، افزونهٔ Metadata Cache آن تمام تنظیمات SSL پیکربندی‌شده را خوانده و رعایت خواهد کرد\&. .sp هنگامی که روی مقداری غیر از مقدار پیش‌فرض (PREFERRED) تنظیم شود، یک مدخل \fBssl_mode\fR زیر بخش [metadata_cache] در فایل پیکربندیِ تولیدشده درج می‌شود\&. .sp مقادیر مجاز عبارتند از DISABLED ،PREFERRED ،REQUIRED ،VERIFY_CA و VERIFY_IDENTITY\&. مقدار پیش‌فرض PREFERRED است\&. مانند کلاینت \fBmysql\fR، این مقدار به بزرگی و کوچکی حروف حساس نیست\&. .sp معادل این مورد در فایل پیکربندی به‌طور جداگانه در \fBssl_mode\fR مستند شده است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-ssl\-cert \fR\fB\fIfile_path\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --ssl-cert file_path T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 نام مسیر فایل گواهی کلید عمومی SSL در قالب PEM\&. این گزینه برای تسهیل احراز هویت سمت کلاینت در طول فرایند bootstrap استفاده می‌شود\&. این گزینه مستقیماً با عملکرد گزینهٔ \fB\-\-ssl\-cert\fR در کلاینت MySQL مطابقت داشته و از آن استفاده می‌کند\&. .sp مانند \fB\-\-ssl\-key\fR، این گزینه فقط در طول bootstrap که از یک حساب root استفاده می‌کند به کار می‌رود\&. این گزینه زمانی کاربرد دارد که حساب root با REQUIRE X509 ایجاد شده باشد و بنابراین ورود به‌عنوان root مستلزم احراز هویت کلاینت توسط خودش باشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-ssl\-key \fR\fB\fIfile_path\fR\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --ssl-key file_path T} T{ نوع T}:T{ رشته T} .TE .sp 1 نام مسیر فایل کلید خصوصی SSL در قالب PEM\&. این گزینه برای تسهیل احراز هویت سمت کلاینت در طول فرایند bootstrap استفاده می‌شود\&. این گزینه مستقیماً با عملکرد گزینهٔ \fB\-\-ssl\-key\fR در کلاینت MySQL مطابقت داشته و از آن استفاده می‌کند\&. .sp مانند \fB\-\-ssl\-cert\fR، این گزینه فقط در طول فرایند bootstrap که از یک حساب root استفاده می‌کند به کار می‌رود\&. این گزینه زمانی کاربرد دارد که حساب root با REQUIRE X509 ایجاد شده باشد و بنابراین ورود به‌عنوان root مستلزم احراز هویت کلاینت توسط خودش باشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1.IP \(bu 2.3 .\} \fB\-\-ssl\-cipher \fR\fB\fIciphers\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --ssl-cipher ciphers T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 فهرستی از سایفرهای SSL جداشده با دونقطه (":") برای مجاز بودن، در صورتی که SSL فعال باشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-tls\-version \fR\fB\fIversions\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --tls-version versions T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 فهرستی از نسخه‌های TLS جداشده با کاما (",") برای درخواست، در صورتی که SSL فعال باشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-ssl\-ca \fR\fB\fIfile_path\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --ssl-ca file_path T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 مسیر فایل SSL CA جهت اعتبارسنجی گواهی سرور در برابر آن\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-ssl\-capath \fR\fB\fIdir_path\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --ssl-capath dir_path T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 مسیر دایرکتوری حاوی فایل‌های SSL CA جهت اعتبارسنجی گواهی سرور در برابر آن‌ها\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-ssl\-crl \fR\fB\fIfile_path\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --ssl-crl file_path T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 مسیر فایل SSL CRL برای استفاده در زمان اعتبارسنجی گواهی سرور\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-ssl\-crlpath \fR\fB\fIdir_path\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --ssl-crlpath dir_path T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 مسیر دایرکتوری حاوی فایل‌های SSL CRL برای استفاده هنگام اعتبارسنجی گواهی سرور\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-client\-ssl\-mode \fR\fB\fImode\fR\fR .TS allbox tab(:); lB l lB l lB l lB l. T{ قالب خط فرمان T}:T{ --client-ssl-mode T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ PREFERRED T} T{ مقادیر مجاز T}:T{.PP PREFERRED .PP DISABLED .PP PASSTHROUGH .PP REQUIRED T} .TE .sp 1 حالت اتصال SSL برای استفاده در زمان راه‌اندازی اولیه (bootstrap) و عملکرد عادی هنگام برقراری اتصال میان MySQL Router و کلاینت\&. .sp در طول راه‌اندازی اولیه، تمامی اتصال‌ها به کلاینت‌ها که توسط Router برقرار می‌شوند از گزینه‌های SSL مشخص‌شده استفاده خواهند کرد\&. اگر \fBclient_ssl_mode\fR در پیکربندی مشخص نشده باشد، مقدار پیش‌فرض آن PREFERRED خواهد بود\&. .sp معادل آن در فایل پیکربندی به‌طور جداگانه در \fBclient_ssl_mode\fR مستند شده است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-client\-ssl\-cert \fR\fB\fIfile_path\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --client-ssl-cert file_path T} T{ نوع T}:T{ String T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 مسیر فایل گواهی کلید عمومی SSL با فرمت PEM\&. این گزینه برای تسهیل احراز هویت سمت کلاینت در طول فرایند راه‌اندازی اولیه (bootstrap) استفاده می‌شود\&. .sp مشابه \fB\-\-client\-ssl\-key\fR، این گزینه تنها در طول راه‌اندازی اولیه‌ای که از یک حساب کاربری root استفاده می‌کند به کار می‌رود\&. این گزینه زمانی کاربرد دارد که حساب root با REQUIRE X509 ایجاد شده باشد و بنابراین ورود با حساب root مستلزم آن باشد که کلاینت خود را احراز هویت کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBclient\-ssl\-curves\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --client-ssl-curves T} T{ نوع T}:T{ String T} .TE .sp 1 به‌طور پیش‌فرض روی فهرستی امن از منحنی‌های SSL تنظیم شده است\&. این رشته را به صورت فهرستی از نام‌های منحنی که با دونقطه (:) از هم جدا شده‌اند قالب‌بندی کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-client\-ssl\-key \fR\fB\fIfile_path\fR\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --client-ssl-key file_path T} T{ نوع T}:T{ String T} .TE .sp 1 مسیر فایل کلید خصوصی SSL با فرمت PEM\&. این گزینه برای تسهیل احراز هویت سمت کلاینت در طول فرایند راه‌اندازی اولیه (bootstrap) استفاده می‌شود\&. .sp مشابه \fB\-\-client\-ssl\-cert\fR، این گزینه تنها در طول فرایند راه‌اندازی اولیه‌ای که از یک حساب کاربری root استفاده می‌کند به کار می‌رود\&. این گزینه زمانی کاربرد دارد که حساب root با REQUIRE X509 ایجاد شده باشد و بنابراین ورود با حساب root مستلزم آن باشد که کلاینت خود را احراز هویت کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-client\-ssl\-cipher \fR\fB\fIciphers\fR\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --client-ssl-cipher T} T{ نوع T}:T{ String T} .TE .sp 1 فهرستی از سایفرهای SSL مجاز که با دو‌نقطه (":") از هم جدا شده‌اند، در صورتی که SSL فعال باشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBclient\-ssl\-dh\-params\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --client-ssl-dh-params=filepath T} T{ نوع T}:T{ String T} .TE .sp 1 نام فایل مربوط به پارامترهای DH\&. در صورت تعیین شدن و خالی نبودن، پارامترهای DH از این فایل به جای پارامترهای پیش‌فرض داخلی DH استفاده می‌شوند\&. فایل پارامترهای DH باید در فرمت PEM باشد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-client\-ssl\-ca \fR\fB\fIfile_path\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --client-ssl-ca file_path T} T{ نوع T}:T{ String T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 مسیر فایل CA مربوط به SSL جهت اعتبارسنجی گواهی سرور در برابر آن\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1.IP \(bu 2.3 .\} \fB\-\-client\-ssl\-capath \fR\fB\fIdir_path\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --client-ssl-capath dir_path T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 مسیر دایرکتوری حاوی فایل‌های CA مربوط به SSL جهت اعتبارسنجی گواهی سرور در برابر آن‌ها\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-client\-ssl\-crl \fR\fB\fIfile_path\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --client-ssl-crl file_path T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 مسیر فایل CRL مربوط به SSL جهت استفاده هنگام اعتبارسنجی گواهی سرور\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-client\-ssl\-crlpath \fR\fB\fIdir_path\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --client-ssl-crlpath dir_path T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 مسیر دایرکتوری حاوی فایل‌های CRL مربوط به SSL جهت استفاده هنگام اعتبارسنجی گواهی سرور\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-server\-ssl\-mode \fR\fB\fImode\fR\fR .TS allbox tab(:); lB l lB l lB l lB l. T{ قالب خط فرمان T}:T{ --server-ssl-mode T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ PREFERRED T} T{ مقادیر مجاز T}:T{ .PP AS_CLIENT .PP DISABLED .PP PREFERRED .PP REQUIRED T} .TE .sp 1 حالت اتصال SSL برای استفاده در طول راه‌اندازی اولیه (bootstrap) و عملکرد عادی هنگام برقراری ارتباط میان MySQL Router و سرور\&. .sp در طول راه‌اندازی اولیه، تمام اتصالات برقرارشده با سرورها توسط Router از گزینه‌های SSL تعیین‌شده استفاده خواهند کرد\&. اگر \fBserver_ssl_mode\fR در پیکربندی مشخص نشده باشد، مقدار پیش‌فرض آن PREFERRED خواهد بود\&. .sp معادل این گزینه در فایل پیکربندی به‌طور جداگانه در \fBserver_ssl_mode\fR مستند شده است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-server\-ssl\-cipher \fR\fB\fIciphers\fR\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --server-ssl-cipher T} T{ نوع T}:T{ رشته T} .TE .sp 1 فهرستی از سایفرهای مجاز SSL که با دونقطه (":") از هم جدا شده‌اند، در صورت فعال بودن SSL\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-server\-ssl\-ca \fR\fB\fIfile_path\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --server-ssl-ca file_path T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 مسیر فایل CA مربوط به SSL جهت اعتبارسنجی گواهی سرور در برابر آن\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1.IP \(bu 2.3 .\} \fB\-\-server\-ssl\-capath \fR\fB\fIdir_path\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --server-ssl-capath dir_path T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 مسیر دایرکتوری حاوی فایل‌های CA مربوط به SSL جهت اعتبارسنجی گواهی سرور در برابر آن‌ها\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-server\-ssl\-crl \fR\fB\fIfile_path\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --server-ssl-crl file_path T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 مسیر فایل CRL مربوط به SSL جهت استفاده هنگام اعتبارسنجی گواهی سرور\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-server\-ssl\-crlpath \fR\fB\fIdir_path\fR\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --server-ssl-crlpath dir_path T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ T} .TE .sp 1 مسیر دایرکتوری حاوی فایل‌های CRL مربوط به SSL جهت استفاده هنگام اعتبارسنجی گواهی سرور\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBserver\-ssl\-curves\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --server-ssl-curves T} T{ نوع T}:T{ رشته T} .TE .sp 1 به‌طور پیش‌فرض از یک فهرست امن از منحنی‌های SSL استفاده می‌شود\&. این رشته را به‌صورت فهرستی از نام‌های منحنی که با دونقطه (:) از هم جدا شده‌اند قالب‌بندی کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-server\-ssl\-verify \fR\fB\fIstring\fR\fR .TS allbox tab(:); lB l lB l lB l lB l. T{ قالب خط فرمان T}:T{ --server-ssl-verify T} T{ نوع T}:T{ رشته T} T{ مقدار پیش‌فرض T}:T{ DISABLED T} T{ مقادیر معتبر T}:T{ .PP DISABLED .PP VERIFY_CA .PP VERIFY_IDENTITY T} .TE .sp 1 اعتبارسنجی گواهی‌های SSL ارائه‌شده از جانب سرور به روتر .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} DISABLED: در صورتی که سرور در دست‌تکانی (handshake) گواهی ارائه ندهد، اتصال ناموفق خواهد بود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} VERIFY_CA: در صورتی که گواهی سرور با CA مورد اعتماد MySQL Router مطابقت نداشته باشد، اتصال ناموفق خواهد بود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} VERIFY_IDENTITY: در صورتی که گواهی سرور با CA مورد اعتماد MySQL Router مطابقت نداشته باشد، یا موضوع (subject) گواهی سرور با نام میزبان یا نشانی IP که MySQL Router به آن متصل شده است مطابقت نداشته باشد، اتصال ناموفق خواهد بود\&. .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1.IP \(bu 2.3 .\} \fB\-\-config \fR\fB\fIfile_path\fR\fR, \fB\-c \fR\fB\fIfile_path\fR\fR .TS allbox tab(:); lB l. T{ قالب خط فرمان T}:T{ --config file_path, -c file_path T} .TE .sp 1 برای مشخص کردن مسیر و نام فایل پیکربندی مورد استفاده به کار می‌رود\&. اگر می‌خواهید از فایل پیکربندی قرارگرفته در پوشه‌ای غیر از مکان‌های پیش‌فرض استفاده کنید، این گزینه را به کار ببرید\&. .sp هنگام استفاده همراه با \fB\-\-bootstrap\fR، و در صورتی که فایل پیکربندی از پیش موجود باشد، اگر محتوای فایل پیکربندی تولیدشده با نسخه اصلی تفاوت داشته باشد، یک رونوشت از فایل فعلی با پسوند \fI\&.bak\fR ذخیره می‌شود\&. فایل‌های \fI\&.bak\fR موجود بازنویسی می‌شوند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-extra\-config \fR\fB\fIfile_path\fR\fR, \fB\-a \fR\fB\fIfile_path\fR\fR .TS allbox tab(:); lB l. T{ قالب خط فرمان T}:T{ --extra-config file_path, -a file_path T} .TE .sp 1 برای مشخص کردن یک فایل پیکربندی اضافی و اختیاری جهت استفاده به کار می‌رود\&. اگر می‌خواهید فایل پیکربندی را برای آزمایش، اجرای چندین نمونه از برنامه روی یک ماشین یکسان و غیره به دو بخش تقسیم کنید، این گزینه را به کار ببرید\&. .sp این فایل پیکربندی پس از فایل پیکربندی اصلی خوانده می‌شود\&. در صورت وجود تداخل (تنظیم یک گزینه در چندین فایل پیکربندی)، مقادیر فایلی که در آخر بارگذاری شده است مورد استفاده قرار می‌گیرد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-install\-service\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --install-service [service_name] T} T{ مختص پلتفرم T}:T{ Windows T} .TE .sp 1 نصب Router به عنوان یک سرویس Windows که با شروع به کار Windows به‌طور خودکار آغاز می‌شود\&. نام سرویس به‌طور پیش‌فرض \fIMySQLRouter\fR است\&. .sp این فرایند نصب، فایل‌های پیکربندی ارسال‌شده از طریق \fB\-\-config\fR را اعتبارسنجی نمی‌کند\&. .sp این گزینه تنها در Windows در دسترس است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-install\-service\-manual\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --install-service-manual [service_name] T} T{ مختص پلتفرم T}:T{ Windows T} .TE .sp 1 نصب MySQL Router به عنوان یک سرویس Windows که می‌تواند به‌صورت دستی آغاز شود\&. نام سرویس به‌طور پیش‌فرض \fIMySQLRouter\fR است\&. .sp این گزینه تنها در Windows در دسترس است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-remove\-service\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --remove-service [service_name] T} T{ مختص پلتفرم T}:T{ Windows T} .TE .sp 1 حذف سرویس Windows مربوط به Router؛ نام سرویس به‌طور پیش‌فرض MySQLRouter است\&. .sp این گزینه تنها در Windows در دسترس است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-service\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --service T} T{ مختص پلتفرم T}:T{ Windows T} .TE .sp 1 راه‌اندازی Router به عنوان یک سرویس Windows\&. این یک گزینه خصوصی است، به این معنی که فقط برای استفاده توسط Windows Service هنگام اجرای Router به عنوان یک سرویس در نظر گرفته شده است\&. .sp این گزینه تنها در Windows در دسترس است\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-update\-credentials\-section\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --update-credentials-section section_name T} T{ مختص پلتفرم T}:T{ Windows T} .TE .sp 1 این گزینه تنها در Windows در دسترس است، و به مخزن گذرواژه (password vault) آن اشاره دارد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1.IP \(bu 2.3 .\} \fB\-\-conf\-target\-cluster\fR .TS allbox tab(:); lB l lB l lB l. T{ قالب خط فرمان T}:T{ --conf-target-cluster value T} T{ نوع T}:T{ رشته T} T{ مقادیر معتبر T}:T{ .PP current .PP primary T} .TE .sp 1 گزینهٔ متادیتای \fBtarget_cluster\fR در MySQL Router را تنظیم می‌کند\&. یکی از رشته‌های زیر را می‌پذیرد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} current: مقدار \fBtarget_cluster\fR را روی خوشه‌ای تنظیم می‌کند که حاوی گره مورد استفاده برای راه‌اندازی اولیه (bootstrap) است\&. این گزینه آن را با مقدار UUID خوشه مشخص می‌کند\&. .sp اگر این گره خوشهٔ اصلی (Primary) نیز باشد، برخلاف مقدار \fBprimary\fR تغییرات نقش را به‌صورت پویا دنبال نمی‌کند؛ بلکه ثابت باقی می‌ماند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} primary: مقدار \fBtarget_cluster\fR را روی خوشهٔ اصلی (primary) تنظیم می‌کند، از جمله زمانی که در زمان اجرا تغییر یابد\&. .RE .sp همچنین \fB\-\-config\-target\-cluster\-by\-name\fR را ببینید که \fBtarget_cluster\fR را روی یک نام خوشهٔ ایستای مشخص تنظیم می‌کند\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br راه‌اندازی اولیه در برابر یک \m[blue]\fBClusterSet\fR\m[]\&\s-2\u[2]\d\s+2 نیازمند آن است که گزینهٔ پیکربندی \fBcluster_type\fR در Router روی \fIgr\fR تنظیم شده باشد\&. .sp .5v .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-conf\-set\-option\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --conf-set-option section_name[:optional_section_key].option=value T} T{ نوع T}:T{ رشته T} .TE .sp 1 مقداری را برای یک گزینهٔ پیکربندی تولیدشده در طول راه‌اندازی اولیه تنظیم می‌کند؛ با این گزینه می‌توان مقداری را برای هر گزینهٔ راه‌اندازی‌شده تعیین کرد، برای مثال: .sp .if n \{\ .RS 4 .\} .nf $> mysqlrouter \-B 127\&.0\&.0\&.1:5000 \e \-\-directory=dir1 \e \-\-conf\-set\-option=logger\&.level=debug \e \-\-conf\-set\-option=routing:test_rw\&.max_connect_errors=0 \e \-\-conf\-set\-option=routing:test_ro\&.max_connect_errors=0 .fi .if n \{\ .RE .\} .sp این دستورها مقادیر پیش‌فرض آن گزینه‌های خاص را با تعریف آن‌ها بدین صورت تغییر می‌دهند: .sp .if n \{\ .RS 4 .\} .nf [logger] level=debug [routing:test_rw] \&.\&.\&. max_connect_errors=0 \&.\&.\&. [routing:test_ro] \&.\&.\&. max_connect_errors=0 \&.\&.\&. .fi .if n \{\ .RE .\} .sp تعاریف \fB\-\-conf\-set\-option\fR نسبت به پارامترهای اختصاصی گزینه‌ها برای تعیین مقداری مشخص، دارای اولویت هستند\&. برای نمونه، اگر هر دوی \fB\-\-connect\-timeout=X\fR و \fB\-\-conf\-set\-option=DEFAULT\&.connect_timeout=Y\fR هنگام راه‌اندازی اولیه مشخص شوند، مقدار \fBconnect_timeout\fR در فایل پیکربندی تولیدشده روی \fIY\fR تنظیم خواهد شد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-conf\-target\-cluster\-by\-name\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --conf-target-cluster-by-name clusterName T} T{ نوع T}:T{ رشته T} .TE .sp 1 گزینهٔ متادیتای \fBtarget_cluster\fR در MySQL Router را روی یک نام خوشهٔ مشخص تنظیم می‌کند\&. .sp یا در عوض، از \fB\-\-conf\-target\-cluster\fR برای انتساب یک نوع خوشهٔ پویا، مانند primary، استفاده کنید\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1.IP \(bu 2.3 .\} \fB\-\-remove\-credentials\-section \fR\fB\fIsection_name\fR\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --remove-credentials-section section_name T} T{ مختص سیستم‌عامل T}:T{ Windows T} .TE .sp 1 اطلاعات احراز هویت را برای یک بخش مشخص حذف می‌کند\&. .sp این گزینه فقط در Windows در دسترس است و به مخزن گذرواژه (password vault) آن اشاره دارد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-clear\-all\-credentials\fR .TS allbox tab(:); lB l lB l. T{ قالب خط فرمان T}:T{ --clear-all-credentials T} T{ مختص سیستم‌عامل T}:T{ Windows T} .TE .sp 1 مخزن گذرواژه را با حذف تمامی اطلاعات احراز هویت ذخیره‌شده در آن پاک‌سازی می‌کند\&. .sp این گزینه فقط در Windows در دسترس است و به مخزن گذرواژه (password vault) آن اشاره دارد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-disable\-rest\fR .TS allbox tab(:); lB l. T{ قالب خط فرمان T}:T{ --disable-rest T} .TE .sp 1 به‌طور پیش‌فرض، جزئیات پیکربندی مربوط به قابلیت‌های وب‌سرویس MySQL Router REST API هنگام bootstrap به فایل mysqlrouter\&.conf تولیدشده افزوده می‌شود؛ و این پارامتر به این معنی است که آن جزئیات اضافه نشوند\&. این کار قابلیت REST API را غیرفعال نمی‌کند، زیرا کارکرد REST API می‌تواند بعداً به‌صورت دستی (برای فعال‌سازی آن) پیکربندی شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-https\-port\fR .TS allbox tab(:); lB l lB l lB l lB l lB l. T{ قالب خط فرمان T}:T{ --https-port value T} T{ نوع T}:T{ عدد صحیح T} T{ مقدار پیش‌فرض T}:T{ 8443 T} T{ حداقل مقدار T}:T{ 1 T} T{ حداکثر مقدار T}:T{ 65535 T} .TE .sp 1 به‌صورت اختیاری، \fBport\fR سرور HTTP را برای MySQL Router REST API ذیل بخش [http_server] در فایل mysqlrouter\&.conf ایجادشده هنگام bootstrap تعیین می‌کند\&. مقدار پیش‌فرض آن 8443 است\&. در دسترس بودن پورت بررسی نمی‌شود\&. .RE.SH "کپی‌رایت و تکثیر (COPYRIGHT)" .br .PP کپی‌رایت \(co 2006, 2026 متعلق به Oracle و/یا وابستگان آن است. .PP این مستندات نرم‌افزار آزاد است؛ شما می‌توانید آن را تنها تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License) همان‌طور که توسط «بنیاد نرم‌افزار آزاد» (Free Software Foundation) منتشر شده است، بازتوزیع کرده و/یا تغییر دهید؛ نسخهٔ ۲ مجوز. .PP این مستندات به این امید که مفید واقع شود توزیع شده است، اما «بدون هرگونه ضمانت»؛ حتی بدون ضمانت ضمنی «قابل فروش بودن» یا «مناسب بودن برای یک هدف خاص». برای جزئیات بیشتر به «مجوز عمومی همگانی گنو» مراجعه کنید. .PP شما باید به همراه این برنامه نسخه‌ای از «مجوز عمومی همگانی گنو» را دریافت کرده باشید؛ در غیر این صورت، به آدرس Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA مکاتبه کرده یا به http://www.gnu.org/licenses مراجعه کنید. .sp .SH "نکات (NOTES)" .IP " 1." 4 اتصال با استفاده از رشته‌های اتصال شبه‌URI .RS 4 \%https://dev.mysql.com/doc/refman/9.7/en/connecting-using-uri-or-key-value-pairs.html#connecting-using-uri .RE .IP " 2." 4 ClusterSet .RS 4 \%https://dev.mysql.com/doc/mysql-shell/9.7/en/innodb-clusterset.html .RE .SH "نویسندگان (AUTHORS)" Oracle Corporation (http://dev.mysql.com).