MYSQLROUTER(1) MySQL Router MYSQLROUTER(1)

mysqlrouter - مسیریاب پایگاه داده MySQL

mysqlrouter [options]

•خلاصه‌ی گزینه‌های mysqlrouter
•شرح گزینه‌های mysqlrouter

مسیریاب MySQL Router گزینه‌های خط فرمانی را می‌پذیرد که به mysqlrouter ارسال می‌شوند تا بر رفتار آن تأثیر بگذارند، یا مسیریاب را بر اساس یک InnoDB Cluster راه‌اندازی اولیه (bootstrap) کنند.

هنگام راه‌اندازی Router، می‌توانید به صورت اختیاری از --config برای تعیین مکان فایل پیکربندی اصلی استفاده کنید (در غیر این صورت از مکان پیش‌فرض استفاده می‌شود) و از --extra-config برای یک فایل پیکربندی اضافی بهره ببرید.

گزینه‌های خط فرمان راه‌اندازی اولیه بر فایل‌ها و دایرکتوری‌های تولیدشده که هنگام شروع MySQL Router استفاده می‌شوند، تأثیر می‌گذارند. خلاصه گزینه‌های mysqlrouterشرح گزینه‌های mysqlrouter

•--version, -V
قالب خط فرمان --version , -V

شماره نگارش و اطلاعات مرتبط با برنامه را نمایش می‌دهد و خارج می‌شود. برای نمونه:

$> mysqlrouter --version
MySQL Router v9.7.0 on Linux (64-bit) (GPL community edition)
•--help, -?
قالب خط فرمان --help , -?

راهنما و اطلاعات تکمیلی را نمایش می‌دهد و خارج می‌شود.

گزینه --help یک مزیت اضافی دارد. علاوه بر شرح هر یک از گزینه‌ها، گزینه --help مسیرهای استفاده‌شده برای یافتن فایل پیکربندی و همچنین چندین مسیر پیش‌فرض را نمایش می‌دهد. گزیده زیر از خروجی --help نمونه‌ای را از یک ماشین اوبونتو 16.04 نشان می‌دهد:

$> mysqlrouter --help
...
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]
...

بخش پیکربندی ترتیب مسیرهایی را که ممکن است برای خواندن فایل پیکربندی استفاده شوند نشان می‌دهد. در این حالت، تنها فایل دوم قابل دسترسی است.

•--bootstrap URI, -B URI
قالب خط فرمان --bootstrap URI, -B URI
نوع String

گزینه اصلی برای انجام راه‌اندازی اولیه (bootstrap) در MySQL Router از طریق اتصال به کارساز فراداده (metadata server) متعلق به InnoDB Cluster در URI ارائه‌شده. MySQL Router خود را بر اساس اطلاعات دریافت‌شده از کارساز فراداده InnoDB Cluster پیکربندی می‌کند. در صورت نیاز، گذرواژه درخواست می‌شود. اگر نام کاربری به عنوان بخشی از URI ارائه نشده باشد، نام کاربری پیش‌فرض «root» استفاده می‌شود. برای اطلاعات درباره استفاده از مسیر برای مشخص کردن نمونه کارساز، Connecting Using URI-Like Connection Strings[1] را ببینید.


نکته
در حالی که --bootstrap یک URI را برای اتصالات TCP/IP می‌پذیرد، استفاده از گزینه --bootstrap-socket همراه با نام سوکت دامنه یونیکس (Unix domain socket) محلی، بخش «host:port» از URI ارائه‌شده به گزینه --bootstrap را با سوکت روی همان ماشین جایگزین می‌کند.
به‌طور پیش‌فرض، فرایند راه‌اندازی اولیه، یک پیکربندی سراسری در سطح سیستم از MySQL Router انجام می‌دهد. تنها یک نمونه از MySQL Router می‌تواند برای عملکرد سراسری سیستم پیکربندی شود. نمونه سیستمی MySQL Router دارای router_name با مقدار «system» است. در صورتی که نمونه‌های بیشتری مد نظر باشد، از گزینه --directory برای ایجاد نصب‌های مستقل و خودکفا از MySQL Router استفاده کنید.

URI: یک نمونه کارساز از یک InnoDB Cluster برای واکشی اطلاعات فراداده. اگر URI ارائه‌شده یک نمونه فقط‌خواندنی (read-only) باشد، MySQL Router به‌طور خودکار دوباره به یک نمونه خواندنی-نوشتنی (read-write) در InnoDB Cluster متصل می‌شود تا بتواند MySQL Router را ثبت کند.

اگر هنگام شروع MySQL Router با گزینه --bootstrap، یک فایل پیکربندی از قبل وجود داشته باشد، router_id موجود در آن فایل مجدداً استفاده می‌شود و فرایند پیکربندی دوباره رخ می‌دهد. فایل پیکربندی از نو تولید شده و حساب کارساز فراداده متعلق به MySQL Router مجدداً ایجاد می‌شود، هرچند با همان نام قبلی.

در طول فرایند پیکربندی مجدد، تمام تغییرات اعمال‌شده در یک فایل پیکربندی موجود نادیده گرفته می‌شوند. برای سفارشی‌سازی یک فایل پیکربندی و در عین حال حفظ توانایی پیکربندی مجدد خودکار (راه‌اندازی اولیه)، می‌توانید از گزینه خط فرمان --extra-config برای تعیین یک فایل پیکربندی اضافی که پس از فایل پیکربندی اصلی خوانده می‌شود استفاده کنید. این گزینه‌های پیکربندی اعمال می‌شوند زیرا این فایل پیکربندی اضافی پس از فایل پیکربندی اصلی بارگیری می‌شود.

فرایند راه‌اندازی اولیه یک حساب کاربری جدید MySQL با گذرواژه‌ای تصادفی ایجاد می‌کند تا توسط آن نمونه خاص MySQL Router استفاده شود. این حساب کاربری توسط MySQL Router هنگام اتصال به کارساز فراداده و InnoDB Cluster برای واکشی اطلاعات درباره وضعیت فعلی آن استفاده می‌شود. برای اطلاعات تفصیلی درباره این کاربر، از جمله نحوه ذخیره گذرواژه آن و امتیازات مورد نیاز در MySQL، مستندات مربوط به گزینه کاربر MySQL (MySQL user option) را ببینید.

فایل پیکربندی تولیدشده mysqlrouter.conf نام دارد و مکان آن به نوع نمونه در حال پیکربندی، سیستم، و بسته بستگی دارد. برای نصب‌های سراسری در سطح سیستم، فایل پیکربندی تولیدشده به دایرکتوری پیکربندی سیستم مانند /etc یا %PROGRAMDATA%\MySQL\MySQL Router\ افزوده می‌شود. اجرای mysqlrouter --help این مکان را نمایش می‌دهد.

گزینه --user در صورت اجرای راه‌اندازی اولیه با کاربر ریشه/مدیر سیستم (uid=0) الزامی است. اگرچه توصیه نمی‌شود، اما اجبار کاربر ریشه با ارسال نام آن به عنوان آرگومان، مانند --user=root امکان‌پذیر است.

حداقل دسترسی‌های GRANT مورد نیاز برای اجرای --bootstrap عبارتند از:

GRANT CREATE USER ON *.* TO 'bootstrapuser'@'%' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE ON mysql_innodb_cluster_metadata.* TO 'bootstrapuser'@'%';
GRANT SELECT ON mysql.user TO 'bootstrapuser'@'%';
GRANT SELECT ON performance_schema.replication_group_members TO 'bootstrapuser'@'%';
GRANT SELECT ON performance_schema.replication_group_member_stats TO 'bootstrapuser'@'%';
GRANT SELECT ON performance_schema.global_variables TO 'bootstrapuser'@'%';

استفاده از --bootstrap مقادیر پیش‌فرضی را به فایل پیکربندی تولیدشده MySQL Router می‌افزاید و برخی از این مقادیر پیش‌فرض به شرایط دیگری وابسته‌اند. در زیر برخی از شرایطی که بر مقادیر پیش‌فرض تولیدشده اثر می‌گذارند فهرست شده است، جایی که پیش‌فرض با ارسال --bootstrap به‌تنهایی تعریف می‌شود.

جدول 4.2. شرایط مؤثر بر مقادیر پیش‌فرض --bootstrap

شرط توضیحات
--conf-base-port T{.PP
مقادیر تولیدشدهٔ
bind_port
را برای هر نوع اتصال تغییر می‌دهد.
به‌طور پیش‌فرض، مقادیر تولیدشدهٔ
bind_port
به این صورت است برای پروتکل کلاسیک، Read-Write از 6446 و Read-Only از 6447 استفاده می‌کند، و برای پروتکل X، اتصال Read-Write از 6448 و Read-Only از 6449 استفاده می‌نماید.
تنظیم
--conf-base-port
روی 0، مقادیر پیش‌فرض
bind_port
را به مقادیر پیش‌فرض زیر تغییر می‌دهد برای پروتکل کلاسیک، Read-Write از 6446 و Read-Only از 6447، و برای پروتکل X، اتصال Read-Write از 64460 و Read-Only از 64470 استفاده می‌کند.
T}
--conf-use-sockets تعاریف socket را برای هر نوع اتصال درج می‌کند.
--conf-skip-tcp تعاریف اتصال TCP/IP تعریف نمی‌شوند.
--directory بر تمام مسیرهای فایل تأثیر می‌گذارد و همچنین فایل‌های اضافی تولید می‌کند.
سایر موارد این فهرست جامع نیست، گزینه‌ها و شرایط دیگر نیز بر مقادیر تولیدشده تأثیر می‌گذارند.
•
--bootstrap-socket socket_name
قالب خط فرمان --bootstrap-socket socket_name
وابسته به پلتفرم Linux

همراه با --bootstrap جهت راه‌اندازی اولیه با استفاده از یک سوکت محلی دامنه یونیکس (Unix domain socket) به‌جای TCP/IP به‌کار می‌رود. مقدار --bootstrap-socket بخش "host:port" را در تعریف --bootstrap با نام سوکت تعیین‌شده برای اتصال به کارساز فرادادهٔ MySQL با استفاده از سوکت‌های دامنه یونیکس جایگزین می‌کند. این همان نمونهٔ MySQL است که راه‌اندازی اولیه از آن صورت می‌گیرد، و در صورت استفاده از سوکت‌ها، این نمونه باید روی همان دستگاه باشد. برای جزئیات بیشتر دربارهٔ نحوهٔ کارکرد راه‌اندازی اولیه، --bootstrap را ببینید.

این گزینه با گزینهٔ خط فرمان --conf-use-sockets که گزینهٔ فایل پیکربندی socket را در طول فرایند راه‌اندازی اولیه تنظیم می‌کند، متفاوت است.

این گزینه در Windows در دسترس نیست.

•--core-file
قالب خط فرمان --core-file[={0|1}]
نوع بولی
مقدار پیش‌فرض 0

در صورت متوقف شدن غیرمنتظرهٔ mysqlrouter یک فایل core می‌نویسد. نام و محل فایل core به سیستم بستگی دارد. در Linux، یک فایل core با نام core.pid در دایرکتوری کاری جاری فرایند نوشته می‌شود. pid بیانگر شناسهٔ فرایند (PID) مربوط به فرایند کارساز است. در macOS، اگر فرایند دارای مجوز com.apple.security.get-task-allow باشد، یک فایل core با نام core.pid در دایرکتوری /cores نوشته می‌شود. در Solaris، از دستور coreadm برای تعیین محل نوشتن فایل core و نحوهٔ نام‌گذاری آن استفاده کنید. در Windows، یک فایل minidump با نام mysqlrouter.{pid}.dmp در دایرکتوری کاری جاری فرایند نوشته می‌شود.

•--directory dir_path, -d dir_path
قالب خط فرمان --directory dir_path, -d dir_path
نوع رشته

مشخص می‌کند که به‌جای پیکربندی نمونهٔ سراسری router در سیستم، یک نصب خودکفای MySQL Router در دایرکتوری تعریف‌شده ایجاد خواهد شد. این امر همچنین امکان ایجاد چندین نمونهٔ router را روی یک سیستم فراهم می‌سازد.

ساختار دایرکتوری خودکفا برای Router به این صورت است:

$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

در صورت مشخص شدن این گزینه، بر خلاف دایرکتوری وضعیت زمان اجرای سراسری سیستم، فایل keyring در دایرکتوری وضعیت زمان اجرای آن نمونه، زیر run/ در دایرکتوری مشخص‌شده ذخیره می‌شود.

اگر --conf-use-sockets نیز فعال باشد، فایل‌های سوکت تولیدشده نیز به این دایرکتوری اضافه می‌شوند.

•--master-key-writer
قالب خط فرمان --master-key-writer file_path
نوع رشته

این گزینهٔ اختیاری راه‌اندازی اولیه، اسکریپتی را می‌پذیرد که کلید اصلی را از STDIN می‌خواند. این گزینه همچنین از متغیر محیطی ROUTER_ID استفاده می‌کند که پیش از فراخوانی اسکریپت master-key-writer توسط MySQL Router تنظیم می‌شود.

گزینه‌های master-key-writer و master-key-reader باید همراه با یکدیگر استفاده شوند، و استفاده از آن‌ها بدین معنی است که گزینهٔ master_key_file نباید در mysqlrouter.conf تعریف شده باشد، زیرا کلید اصلی در فایل کلید اصلی mysqlrouter.key نوشته نمی‌شود.

این مقدار همچنین در فایل پیکربندی تولیدشدهٔ MySQL Router به‌عنوان گزینهٔ master-key-writer در بخش [DEFAULT] نوشته می‌شود.

محتوای نمونه از یک اسکریپت bash به‌نام writer.sh که در مثال ما استفاده شده است:

#!/bin/bash
KID_=$(keyctl padd user ${ROUTER_ID} @us <&0)

نمونهٔ استفاده:

$> mysqlrouter --bootstrap=127.0.0.1:3310 --master-key-reader=./reader.sh 
  --master-key-writer=./writer.sh

این امر همچنین بر mysqlrouter.conf تولیدشده تأثیر می‌گذارد، برای مثال:

[DEFAULT]
...
master-key-reader=reader.sh
master-key-writer=writer.sh  
•--master-key-reader
قالب خط فرمان --master-key-reader file_path
نوع String

این گزینهٔ اختیاری راه‌اندازی (bootstrap)، اسکریپتی را می‌پذیرد که کلید اصلی را در STDOUT می‌نویسد. همچنین از متغیر محیطی ROUTER_ID استفاده می‌کند که پیش از فراخوانی اسکریپت master-key-reader توسط MySQL Router مقداردهی شده است.

گزینه‌های master-key-reader و master-key-writer باید همراه یکدیگر استفاده شوند، و استفاده از آن‌ها بدین معناست که گزینهٔ master_key_file نباید در mysqlrouter.conf تعریف شده باشد؛ زیرا کلید اصلی در فایل کلید اصلی mysqlrouter.key نوشته نمی‌شود و در عوض از مقدار ارائه‌شده توسط اسکریپتِ این گزینه استفاده می‌گردد.

این مقدار همچنین در فایل پیکربندی تولیدشدهٔ MySQL Router به‌عنوان گزینهٔ [DEFAULT] برای master-key-reader نوشته می‌شود.

محتوای نمونه‌ای از یک اسکریپت bash به نام reader.sh که در مثال ما استفاده شده است:

#!/bin/bash
KID_=$(keyctl search @us user ${ROUTER_ID} 2>/dev/null)
if [ ! -z $KID_ ]; then
  keyctl pipe $KID_
fi

مثال استفاده:

$> mysqlrouter --bootstrap=127.0.0.1:3310 --master-key-reader=./reader.sh 
  # Or, multiple hosts--master-key-writer=./writer.sh

این مورد همچنین بر mysqlrouter.conf تولیدشده تأثیر می‌گذارد، برای مثال:

[DEFAULT]
...
master-key-reader=reader.sh
master-key-writer=writer.sh  
•--strict
قالب خط فرمان --strict
نوع String

حالت سخت‌گیرانه (strict mode) را فعال می‌کند؛ به‌عنوان مثال، باعث می‌شود که بررسی اعتبارسنجی کاربر --account در مرحلهٔ راه‌اندازی (bootstrap)، در صورت عدم قبولی کاربر مشخص‌شده در این بررسی، به‌جای اینکه تنها هشداری صادر کرده و ادامه دهد، فرایند راه‌اندازی را متوقف سازد.

•--account
قالب خط فرمان --account username
نوع String

گزینه‌ای در راه‌اندازی (bootstrap) برای تعیین کاربر MySQL مورد استفاده، که یا از حساب کاربری موجود MySQL استفادهٔ مجدد می‌کند و یا حسابی جدید می‌سازد؛ این رفتار توسط گزینهٔ مرتبط --account-create کنترل می‌شود.

با --account، استفاده به سمت سهولت در مدیریت به‌جای سهولت در استقرار گرایش دارد، زیرا چندین router ممکن است از یک حساب کاربری مشترک استفاده کنند، و نام کاربری و گذرواژه به‌جای تولید خودکار، به‌صورت دستی مشخص می‌شوند.

تنظیم این گزینه، صرف‌نظر از موجود بودن گذرواژه در keyring، اعلانی برای دریافت گذرواژهٔ این حساب نمایش می‌دهد.

راه‌اندازی بدون ارسال --account یک حساب موجود سرور MySQL را مجدداً ایجاد نمی‌کند.

استفاده از این گزینه فرض را بر این می‌گذارد که کاربر مجوزهای دسترسی کافی برای Router دارد، چرا که فرایند راه‌اندازی تلاشی برای افزودن مجوزهای کمبود به حساب‌های موجود نمی‌کند. فرایند راه‌اندازی مجوزها را راستی‌آزمایی کرده و اطلاعات مربوط به بررسی‌های ناموفق را در کنسول نمایش می‌دهد. فرایند راه‌اندازی علی‌رغم این بررسی‌های ناموفق به کار خود ادامه می‌دهد مگر اینکه گزینهٔ اختیاری --strict نیز استفاده شده باشد. نمونه‌ای از مجوزهای لازم:

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`@`%`

گذرواژه از طریق خط فرمان پذیرفته نمی‌شود. برای نمونه، وارد کردن "foo:bar" فرض می‌کند که "foo:bar" نام کاربری مدنظر است، نه کاربر foo با گذرواژهٔ bar.

•--account-create
قالب خط فرمان --account-create behavior
نوع String
مقدار پیش‌فرض if-not-exists
مقادیر معتبر T{.PP
if-not-exists
always
never
T}

سیاست ایجاد حساب کاربری را جهت محافظت در برابر راه‌اندازی اولیه (bootstrap) ناخواسته با حساب کاربری اشتباه تعیین می‌کند. مقادیر ممکن عبارتند از:

•if-not-exists (پیش‌فرض): در هر حالت راه‌اندازی اولیه را انجام می‌دهد؛ اگر حساب کاربری وجود داشته باشد دوباره از آن استفاده می‌کند، در غیر این صورت آن را می‌سازد.
•always: تنها در صورتی راه‌اندازی اولیه را انجام می‌دهد که حساب کاربری از قبل وجود نداشته باشد؛ و آن را می‌سازد.
•never: تنها در صورتی راه‌اندازی اولیه را انجام می‌دهد که حساب کاربری از قبل وجود داشته باشد؛ و از آن مجدداً استفاده می‌کند.

این گزینه مستلزم آن است که گزینهٔ --account نیز استفاده شود، و --account-host استفاده نشود.

•--account-host
قالب خط فرمان --account-host host_pattern
نوع رشته
مقدار پیش‌فرض %

الگوی میزبانی مورد استفاده برای حساب‌های کاربری ایجاد شده توسط MySQL Router در طول فرآیند راه‌اندازی اولیه. این گزینه اختیاری است و مقدار پیش‌فرض آن '%' است.

برای تعریف الگوهای متعدد، این گزینه را چندین بار وارد کنید؛ در این حالت، حساب‌های کاربری MySQL ایجاد شده از گذرواژهٔ یکسانی استفاده خواهند کرد.


نکته
ابزار Router بررسی‌های صحت‌سنجی انجام نمی‌دهد و تضمین نمی‌کند که این الگو به Router مجوز اتصال می‌دهد.

نکته
فرآیند راه‌اندازی اولیه، حساب‌های کاربری موجود Router را با حذف و ساخت دوبارهٔ کاربر مورد استفادهٔ مجدد قرار می‌دهد، و این فرآیند ساخت مجدد کاربر برای تک‌تک میزبان‌ها اعمال می‌شود.
مثال‌ها:
# 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
•--conf-use-sockets
قالب خط فرمان --conf-use-sockets
مختص پلتفرم Linux

سوکت‌های دامنه یونیکس (Unix domain sockets) محلی را فعال می‌کند.

این گزینه هنگام راه‌اندازی اولیه استفاده می‌شود، و فعال کردن آن گزینهٔ socket را به فایل پیکربندی تولیدشده اضافه می‌کند.

نام فایل سوکت تولیدشده به گزینهٔ protocol بستگی دارد. با فعال بودن پروتکل کلاسیک، نام فایل برای اتصال‌های خواندن-نوشتن mysql.sock و برای اتصال‌های فقط‌خواندنی mysqlro.sock خواهد بود. با فعال بودن پروتکل X Protocol، نام فایل برای اتصال‌های خواندن-نوشتن mysqlx.sock و برای اتصال‌های فقط‌خواندنی mysqlxro.sock است.

این گزینه در Windows در دسترس نیست.

•--conf-use-gr-notifications
قالب خط فرمان --conf-use-gr-notifications

گزینهٔ use_gr_notifications [metadata_cache] را در طول راه‌اندازی اولیه فعال می‌کند. هنگامی که فعال باشد، Router به‌صورت ناهمگام از اکثر تغییرات کلاستر مطلع می‌شود. برای اطلاعات بیشتر use_gr_notifications را ببینید. علاوه بر این، استفاده از این گزینه مقادیر ttl=60 و auth_cache_refresh_interval=60 را تنظیم می‌کند.

•--pid-file path
قالب خط فرمان --pid-file path
نوع رشته

مکان فایل PID را مشخص می‌کند. این مقدار می‌تواند به سه روش مختلف تعیین شود (به ترتیب اولویت): همین گزینهٔ خط فرمان --pid-file، تنظیم pid_file در فایل پیکربندی Router، یا تعریف متغیر محیطی ROUTER_PID.

اگر --bootstrap مشخص شده باشد، تعیین --pid-file باعث بروز خطا در Router می‌شود. این برعکس ROUTER_PID و گزینهٔ پیکربندی pid_file است که در صورت تعیین --bootstrap نادیده گرفته می‌شوند.

اگر --bootstrap مشخص نشده باشد، موارد زیر باعث بروز خطا در Router می‌شوند: فایل مشخص‌شده با --pid-file از قبل وجود داشته باشد، pid_file یا ROUTER_PID تنظیم شده اما خالی باشند، یا اینکه Router نتواند فایل PID را بنویسد.

•--report-host
قالب خط فرمان --report-host hostname
نوع رشته

به‌صورت اختیاری نام میزبان (hostname) برنامهٔ Router را تعیین می‌کند، به‌جای اینکه برای تشخیص نام میزبانِ قابل‌مشاهده از خارج که در طول فرآیند bootstrap در متاداده ثبت می‌شود، به تشخیص خودکار اتکا شود.

برنامهٔ Router در دسترس بودن نام میزبان ارائه‌شده را بررسی یا تأیید نمی‌کند، اما برای اعتبارسنجی نام‌های میزبان از RFC 1123 و برای اعتبارسنجی آدرس‌ها از RFC 2181 استفاده می‌کند.

نام میزبان ارائه‌شده در فیلد host_name از جدول mysql_innodb_cluster_metadata.hosts در مخزن متادادهٔ کلاستر MySQL InnoDB نوشته می‌شود.

•--conf-skip-tcp
قالب خط فرمان --conf-skip-tcp
مختص پلتفرم Linux

از پیکربندی درگاه (پورت) TCP برای شنود اتصالات ورودی صرف‌نظر می‌کند. همچنین ببینید: --conf-use-sockets.

این گزینه در Windows در دسترس نیست.

•--conf-base-port port_num
قالب خط فرمان --conf-base-port port_num
نوع عدد صحیح
مقدار پیش‌فرض 0

مقدار پایه (نخستین مقدار) مورداستفاده برای درگاه‌های TCP شنونده با تنظیم bind_port به ازای هر مسیر bootstrap‌شده.

این مقدار برای مسیر خواندن/نوشتن (read-write) کلاسیک استفاده می‌شود و هر درگاه تخصیص‌یافتهٔ بعدی یک واحد افزایش می‌یابد. ترتیب تنظیم درگاه‌ها بدین‌گونه است: کلاسیک خواندن/نوشتن / فقط‌خواندنی (read-only)، و سپس پروتکل x خواندن/نوشتن / فقط‌خواندنی.

تنظیم --conf-base-port روی 0، مقادیر پیش‌فرض bind_port را به مقادیر پیش‌فرض زیر تغییر می‌دهد: برای پروتکل کلاسیک، Read-Write از 6446 و Read-Only از 6447 استفاده می‌کند، و برای پروتکل X، حالت Read-Write از 64460 و Read-Only از 64470 استفاده می‌نماید.

نمونهٔ استفاده:

# Example without --conf-base-port
$> mysqlrouter --bootstrap root@localhost:3310
...
Classic MySQL protocol connections to cluster 'devCluster':
- Read/Write Connections: localhost:6446
- Read/Only Connections: localhost:6447
X protocol connections to cluster 'devCluster':
- Read/Write Connections: localhost:6448
- Read/Only Connections: localhost:6449
# Example demonstrating --conf-base-port set to 0
$> mysqlrouter --bootstrap root@localhost:3310 --conf-base-port 0
...
Classic MySQL protocol connections to cluster 'devCluster':
- Read/Write Connections: localhost:6446
- Read/Only Connections: localhost:6447
X protocol connections to cluster 'devCluster':
- Read/Write Connections: localhost:64460
- Read/Only Connections: localhost:64470
•--conf-bind-address address
قالب خط فرمان --conf-bind-address address
نوع رشته
مقدار پیش‌فرض 0.0.0.0

مقدار bind_address تنظیم‌شده توسط --bootstrap را در فایل پیکربندی ایجادشدهٔ Router تغییر می‌دهد. به‌طور پیش‌فرض، فرآیند راه‌اندازی (bootstrapping) مقدار bind_address=0.0.0.0 را برای هر مسیر تعیین می‌کند، و این گزینه آن مقدار را تغییر می‌دهد.


نکته
اگر bind_address تعریف نشده باشد، مقدار پیش‌فرض bind_address برابر 127.0.0.1 است.
•--read-timeout num_seconds
قالب خط فرمان --read-timeout num_seconds
نوع عدد صحیح
مقدار پیش‌فرض 30

تعداد ثانیه‌ها پیش از آنکه عملیات‌های خواندن از یک سرور فراداده (metadata server) منقضی‌شده تلقی شوند.

این گزینه بر عملیات‌های خواندن در طول فرایند راه‌اندازی اولیه (bootstrap) اثر می‌گذارد و همچنین با تنظیم گزینه مرتبط read_timeout در فایل تولید‌شده mysqlrouter.conf بر عملیات‌های عادی MySQL Router نیز تأثیرگذار است.

این گزینه ذیل فضای‌نام [DEFAULT] تنظیم می‌شود.

•--connect-timeout num_seconds
قالب خط فرمان --connect-timeout num_seconds
نوع عدد صحیح
مقدار پیش‌فرض 30

تعداد ثانیه‌ها پیش از آنکه تلاش‌ها برای اتصال به یک سرور فراداده (metadata server) منقضی‌شده تلقی شوند.

این گزینه بر اتصال‌ها در طول فرایند راه‌اندازی اولیه (bootstrap) اثر می‌گذارد و همچنین با تنظیم گزینه مرتبط connect_timeout در فایل تولید‌شده mysqlrouter.conf بر عملیات‌های عادی MySQL Router نیز تأثیرگذار است.

دو گونه برای connect_timeout وجود دارد؛ گونه سرور فراداده ذیل فضای‌نام [DEFAULT] تعریف می‌شود، در حالی که گونه سرور MySQL ذیل فضای‌نام [routing] مشخص می‌گردد.

•--user {user_name|user_id}, -u {user_name|user_id}
قالب خط فرمان --user {user_name|user_id}, -u {user_name|user_id}
مختص پلتفرم Linux
نوع رشته

اجرای mysqlrouter با کاربری که نام آن user_name یا شناسه عددی کاربری آن user_id است. “کاربر” در این زمینه به یک حساب کاربری ورود به سیستم اشاره دارد، نه یک کاربر MySQL که در جدول‌های دسترسی (grant tables) فهرست شده باشد. هنگام راه‌اندازی اولیه (bootstrapping)، مالکیت تمام فایل‌های تولید‌شده به این کاربر اختصاص می‌یابد و این کار همچنین گزینه مرتبط user را تنظیم می‌کند.

این user سیستم در فایل پیکربندی ذیل فضای‌نام [DEFAULT] تعریف می‌شود. برای اطلاعات بیشتر، مستندات گزینه user را که توسط --user پیکربندی می‌شود، ببینید.

در صورت اجرای راه‌اندازی اولیه با دسترسی مدیر سیستم (uid=0)، استفاده از گزینه --user الزامی است. هرچند توصیه نمی‌شود، اما اجبار کاربر مدیر سیستم با دادن نام آن به عنوان یک آرگومان امکان‌پذیر است، مانند --user=root.

این گزینه در Windows در دسترس نیست.

•--name router_name
قالب خط فرمان --name router_name
نوع رشته
مقدار پیش‌فرض system

در راه‌اندازی اولیه (bootstrap)، یک نام نمادین برای یک نمونه Router مستقل مشخص می‌کند. این گزینه اختیاری است و به همراه --directory به کار می‌رود. هنگام ایجاد چندین نمونه، نام‌ها باید یکتا باشند.

•--force-password-validation
قالب خط فرمان --force-password-validation
مختص پلتفرم Linux

به‌طور پیش‌فرض، MySQL Router سازوکار validate_password سرور MySQL Server را نادیده می‌گیرد و در عوض بر اساس تنظیمات پیش‌فرض شناخته‌شده validate_password، یک گذرواژه قوی (STRONG) تولید کرده و به کار می‌برد. دلیل این امر آن است که validate_password می‌تواند توسط کاربر پیکربندی شود و Router نمی‌تواند تنظیمات سفارشی غیرمعمول را در نظر بگیرد.

این گزینه اطمینان حاصل می‌کند که اعتبارسنجی گذرواژه (validate_password) برای گذرواژه‌های تولیدشده نادیده گرفته نشود و به‌طور پیش‌فرض غیرفعال است.

•--password-retries num_retries
قالب خط فرمان --password-retries num_retries
نوع عدد صحیح
مقدار پیش‌فرض 20
حداقل مقدار 1
حداکثر مقدار 10000

تعداد دفعاتی را مشخص می‌کند که MySQL Router باید هنگام ساخت حساب کاربری با قوانین اعتبارسنجی گذرواژه، برای تولید گذرواژه تلاش کند. مقدار پیش‌فرض 20 است. محدودهٔ معتبر 1 تا 10000 است.

محتمل‌ترین دلیل برای شکست، تنظیمات سفارشی validate_password با الزامات غیرمعمول مانند حداقل 50 نویسه است. در این سناریوی شکست، احتمال دارد که --force-password-validation روی true تنظیم شده باشد.

•--force
قالب خط فرمان --force

اعمال اجباری پیکربندی مجدد بر روی یک نمونهٔ از پیش پیکربندی‌شده از Router روی میزبان.

•--ssl-mode mode
قالب خط فرمان --ssl-mode mode
نوع رشته
مقدار پیش‌فرض PREFERRED
مقادیر معتبر PREFERRED DISABLED REQUIRED VERIFY_CA VERIFY_IDENTITY

حالت اتصال SSL برای استفاده در طول bootstrap و کارکرد عادی هنگام اتصال به سرور فراداده (metadata server). مشابه با --ssl-mode در کلاینت mysql.

در طول bootstrap، تمام اتصالات برقرارشده به سرورهای فراداده توسط Router از گزینه‌های SSL مشخص‌شده استفاده خواهند کرد. اگر ssl_mode در پیکربندی مشخص نشده باشد، مقدار پیش‌فرض آن PREFERRED خواهد بود. در طول کارکرد عادی، پس از راه‌اندازی Router، افزونهٔ Metadata Cache آن تمام تنظیمات SSL پیکربندی‌شده را خوانده و رعایت خواهد کرد.

هنگامی که روی مقداری غیر از مقدار پیش‌فرض (PREFERRED) تنظیم شود، یک مدخل ssl_mode زیر بخش [metadata_cache] در فایل پیکربندیِ تولیدشده درج می‌شود.

مقادیر مجاز عبارتند از DISABLED ،PREFERRED ،REQUIRED ،VERIFY_CA و VERIFY_IDENTITY. مقدار پیش‌فرض PREFERRED است. مانند کلاینت mysql، این مقدار به بزرگی و کوچکی حروف حساس نیست.

معادل این مورد در فایل پیکربندی به‌طور جداگانه در ssl_mode مستند شده است.

•--ssl-cert file_path
قالب خط فرمان --ssl-cert file_path
نوع رشته
مقدار پیش‌فرض

نام مسیر فایل گواهی کلید عمومی SSL در قالب PEM. این گزینه برای تسهیل احراز هویت سمت کلاینت در طول فرایند bootstrap استفاده می‌شود. این گزینه مستقیماً با عملکرد گزینهٔ --ssl-cert در کلاینت MySQL مطابقت داشته و از آن استفاده می‌کند.

مانند --ssl-key، این گزینه فقط در طول bootstrap که از یک حساب root استفاده می‌کند به کار می‌رود. این گزینه زمانی کاربرد دارد که حساب root با REQUIRE X509 ایجاد شده باشد و بنابراین ورود به‌عنوان root مستلزم احراز هویت کلاینت توسط خودش باشد.

•--ssl-key file_path
قالب خط فرمان --ssl-key file_path
نوع رشته

نام مسیر فایل کلید خصوصی SSL در قالب PEM. این گزینه برای تسهیل احراز هویت سمت کلاینت در طول فرایند bootstrap استفاده می‌شود. این گزینه مستقیماً با عملکرد گزینهٔ --ssl-key در کلاینت MySQL مطابقت داشته و از آن استفاده می‌کند.

مانند --ssl-cert، این گزینه فقط در طول فرایند bootstrap که از یک حساب root استفاده می‌کند به کار می‌رود. این گزینه زمانی کاربرد دارد که حساب root با REQUIRE X509 ایجاد شده باشد و بنابراین ورود به‌عنوان root مستلزم احراز هویت کلاینت توسط خودش باشد.

•--ssl-cipher ciphers
قالب خط فرمان --ssl-cipher ciphers
نوع رشته
مقدار پیش‌فرض

فهرستی از سایفرهای SSL جداشده با دونقطه (":") برای مجاز بودن، در صورتی که SSL فعال باشد.

•--tls-version versions
قالب خط فرمان --tls-version versions
نوع رشته
مقدار پیش‌فرض

فهرستی از نسخه‌های TLS جداشده با کاما (",") برای درخواست، در صورتی که SSL فعال باشد.

•--ssl-ca file_path
قالب خط فرمان --ssl-ca file_path
نوع رشته
مقدار پیش‌فرض

مسیر فایل SSL CA جهت اعتبارسنجی گواهی سرور در برابر آن.

•--ssl-capath dir_path
قالب خط فرمان --ssl-capath dir_path
نوع رشته
مقدار پیش‌فرض

مسیر دایرکتوری حاوی فایل‌های SSL CA جهت اعتبارسنجی گواهی سرور در برابر آن‌ها.

•--ssl-crl file_path
قالب خط فرمان --ssl-crl file_path
نوع رشته
مقدار پیش‌فرض

مسیر فایل SSL CRL برای استفاده در زمان اعتبارسنجی گواهی سرور.

•--ssl-crlpath dir_path
قالب خط فرمان --ssl-crlpath dir_path
نوع رشته
مقدار پیش‌فرض

مسیر دایرکتوری حاوی فایل‌های SSL CRL برای استفاده هنگام اعتبارسنجی گواهی سرور.

•--client-ssl-mode mode
قالب خط فرمان --client-ssl-mode
نوع رشته
مقدار پیش‌فرض PREFERRED
مقادیر مجاز T{.PP
PREFERRED
DISABLED
PASSTHROUGH
REQUIRED
T}

حالت اتصال SSL برای استفاده در زمان راه‌اندازی اولیه (bootstrap) و عملکرد عادی هنگام برقراری اتصال میان MySQL Router و کلاینت.

در طول راه‌اندازی اولیه، تمامی اتصال‌ها به کلاینت‌ها که توسط Router برقرار می‌شوند از گزینه‌های SSL مشخص‌شده استفاده خواهند کرد. اگر client_ssl_mode در پیکربندی مشخص نشده باشد، مقدار پیش‌فرض آن PREFERRED خواهد بود.

معادل آن در فایل پیکربندی به‌طور جداگانه در client_ssl_mode مستند شده است.

•--client-ssl-cert file_path
قالب خط فرمان --client-ssl-cert file_path
نوع String
مقدار پیش‌فرض

مسیر فایل گواهی کلید عمومی SSL با فرمت PEM. این گزینه برای تسهیل احراز هویت سمت کلاینت در طول فرایند راه‌اندازی اولیه (bootstrap) استفاده می‌شود.

مشابه --client-ssl-key، این گزینه تنها در طول راه‌اندازی اولیه‌ای که از یک حساب کاربری root استفاده می‌کند به کار می‌رود. این گزینه زمانی کاربرد دارد که حساب root با REQUIRE X509 ایجاد شده باشد و بنابراین ورود با حساب root مستلزم آن باشد که کلاینت خود را احراز هویت کند.

•client-ssl-curves
قالب خط فرمان --client-ssl-curves
نوع String

به‌طور پیش‌فرض روی فهرستی امن از منحنی‌های SSL تنظیم شده است. این رشته را به صورت فهرستی از نام‌های منحنی که با دونقطه (:) از هم جدا شده‌اند قالب‌بندی کنید.

•--client-ssl-key file_path
قالب خط فرمان --client-ssl-key file_path
نوع String

مسیر فایل کلید خصوصی SSL با فرمت PEM. این گزینه برای تسهیل احراز هویت سمت کلاینت در طول فرایند راه‌اندازی اولیه (bootstrap) استفاده می‌شود.

مشابه --client-ssl-cert، این گزینه تنها در طول فرایند راه‌اندازی اولیه‌ای که از یک حساب کاربری root استفاده می‌کند به کار می‌رود. این گزینه زمانی کاربرد دارد که حساب root با REQUIRE X509 ایجاد شده باشد و بنابراین ورود با حساب root مستلزم آن باشد که کلاینت خود را احراز هویت کند.

•--client-ssl-cipher ciphers
قالب خط فرمان --client-ssl-cipher
نوع String

فهرستی از سایفرهای SSL مجاز که با دو‌نقطه (":") از هم جدا شده‌اند، در صورتی که SSL فعال باشد.

•client-ssl-dh-params
قالب خط فرمان --client-ssl-dh-params=filepath
نوع String

نام فایل مربوط به پارامترهای DH. در صورت تعیین شدن و خالی نبودن، پارامترهای DH از این فایل به جای پارامترهای پیش‌فرض داخلی DH استفاده می‌شوند. فایل پارامترهای DH باید در فرمت PEM باشد.

•--client-ssl-ca file_path
قالب خط فرمان --client-ssl-ca file_path
نوع String
مقدار پیش‌فرض

مسیر فایل CA مربوط به SSL جهت اعتبارسنجی گواهی سرور در برابر آن.

•--client-ssl-capath dir_path
قالب خط فرمان --client-ssl-capath dir_path
نوع رشته
مقدار پیش‌فرض

مسیر دایرکتوری حاوی فایل‌های CA مربوط به SSL جهت اعتبارسنجی گواهی سرور در برابر آن‌ها.

•--client-ssl-crl file_path
قالب خط فرمان --client-ssl-crl file_path
نوع رشته
مقدار پیش‌فرض

مسیر فایل CRL مربوط به SSL جهت استفاده هنگام اعتبارسنجی گواهی سرور.

•--client-ssl-crlpath dir_path
قالب خط فرمان --client-ssl-crlpath dir_path
نوع رشته
مقدار پیش‌فرض

مسیر دایرکتوری حاوی فایل‌های CRL مربوط به SSL جهت استفاده هنگام اعتبارسنجی گواهی سرور.

•--server-ssl-mode mode
قالب خط فرمان --server-ssl-mode
نوع رشته
مقدار پیش‌فرض PREFERRED
مقادیر مجاز AS_CLIENT DISABLED PREFERRED REQUIRED

حالت اتصال SSL برای استفاده در طول راه‌اندازی اولیه (bootstrap) و عملکرد عادی هنگام برقراری ارتباط میان MySQL Router و سرور.

در طول راه‌اندازی اولیه، تمام اتصالات برقرارشده با سرورها توسط Router از گزینه‌های SSL تعیین‌شده استفاده خواهند کرد. اگر server_ssl_mode در پیکربندی مشخص نشده باشد، مقدار پیش‌فرض آن PREFERRED خواهد بود.

معادل این گزینه در فایل پیکربندی به‌طور جداگانه در server_ssl_mode مستند شده است.

•--server-ssl-cipher ciphers
قالب خط فرمان --server-ssl-cipher
نوع رشته

فهرستی از سایفرهای مجاز SSL که با دونقطه (":") از هم جدا شده‌اند، در صورت فعال بودن SSL.

•--server-ssl-ca file_path
قالب خط فرمان --server-ssl-ca file_path
نوع رشته
مقدار پیش‌فرض

مسیر فایل CA مربوط به SSL جهت اعتبارسنجی گواهی سرور در برابر آن.

•--server-ssl-capath dir_path
قالب خط فرمان --server-ssl-capath dir_path
نوع رشته
مقدار پیش‌فرض

مسیر دایرکتوری حاوی فایل‌های CA مربوط به SSL جهت اعتبارسنجی گواهی سرور در برابر آن‌ها.

•--server-ssl-crl file_path
قالب خط فرمان --server-ssl-crl file_path
نوع رشته
مقدار پیش‌فرض

مسیر فایل CRL مربوط به SSL جهت استفاده هنگام اعتبارسنجی گواهی سرور.

•--server-ssl-crlpath dir_path
قالب خط فرمان --server-ssl-crlpath dir_path
نوع رشته
مقدار پیش‌فرض

مسیر دایرکتوری حاوی فایل‌های CRL مربوط به SSL جهت استفاده هنگام اعتبارسنجی گواهی سرور.

•server-ssl-curves
قالب خط فرمان --server-ssl-curves
نوع رشته

به‌طور پیش‌فرض از یک فهرست امن از منحنی‌های SSL استفاده می‌شود. این رشته را به‌صورت فهرستی از نام‌های منحنی که با دونقطه (:) از هم جدا شده‌اند قالب‌بندی کنید.

•--server-ssl-verify string
قالب خط فرمان --server-ssl-verify
نوع رشته
مقدار پیش‌فرض DISABLED
مقادیر معتبر DISABLED VERIFY_CA VERIFY_IDENTITY

اعتبارسنجی گواهی‌های SSL ارائه‌شده از جانب سرور به روتر

•DISABLED: در صورتی که سرور در دست‌تکانی (handshake) گواهی ارائه ندهد، اتصال ناموفق خواهد بود.
•VERIFY_CA: در صورتی که گواهی سرور با CA مورد اعتماد MySQL Router مطابقت نداشته باشد، اتصال ناموفق خواهد بود.
•VERIFY_IDENTITY: در صورتی که گواهی سرور با CA مورد اعتماد MySQL Router مطابقت نداشته باشد، یا موضوع (subject) گواهی سرور با نام میزبان یا نشانی IP که MySQL Router به آن متصل شده است مطابقت نداشته باشد، اتصال ناموفق خواهد بود.
•--config file_path, -c file_path
قالب خط فرمان --config file_path, -c file_path

برای مشخص کردن مسیر و نام فایل پیکربندی مورد استفاده به کار می‌رود. اگر می‌خواهید از فایل پیکربندی قرارگرفته در پوشه‌ای غیر از مکان‌های پیش‌فرض استفاده کنید، این گزینه را به کار ببرید.

هنگام استفاده همراه با --bootstrap، و در صورتی که فایل پیکربندی از پیش موجود باشد، اگر محتوای فایل پیکربندی تولیدشده با نسخه اصلی تفاوت داشته باشد، یک رونوشت از فایل فعلی با پسوند .bak ذخیره می‌شود. فایل‌های .bak موجود بازنویسی می‌شوند.

•--extra-config file_path, -a file_path
قالب خط فرمان --extra-config file_path, -a file_path

برای مشخص کردن یک فایل پیکربندی اضافی و اختیاری جهت استفاده به کار می‌رود. اگر می‌خواهید فایل پیکربندی را برای آزمایش، اجرای چندین نمونه از برنامه روی یک ماشین یکسان و غیره به دو بخش تقسیم کنید، این گزینه را به کار ببرید.

این فایل پیکربندی پس از فایل پیکربندی اصلی خوانده می‌شود. در صورت وجود تداخل (تنظیم یک گزینه در چندین فایل پیکربندی)، مقادیر فایلی که در آخر بارگذاری شده است مورد استفاده قرار می‌گیرد.

•--install-service
قالب خط فرمان --install-service [service_name]
مختص پلتفرم Windows

نصب Router به عنوان یک سرویس Windows که با شروع به کار Windows به‌طور خودکار آغاز می‌شود. نام سرویس به‌طور پیش‌فرض MySQLRouter است.

این فرایند نصب، فایل‌های پیکربندی ارسال‌شده از طریق --config را اعتبارسنجی نمی‌کند.

این گزینه تنها در Windows در دسترس است.

•--install-service-manual
قالب خط فرمان --install-service-manual [service_name]
مختص پلتفرم Windows

نصب MySQL Router به عنوان یک سرویس Windows که می‌تواند به‌صورت دستی آغاز شود. نام سرویس به‌طور پیش‌فرض MySQLRouter است.

این گزینه تنها در Windows در دسترس است.

•--remove-service
قالب خط فرمان --remove-service [service_name]
مختص پلتفرم Windows

حذف سرویس Windows مربوط به Router؛ نام سرویس به‌طور پیش‌فرض MySQLRouter است.

این گزینه تنها در Windows در دسترس است.

•--service
قالب خط فرمان --service
مختص پلتفرم Windows

راه‌اندازی Router به عنوان یک سرویس Windows. این یک گزینه خصوصی است، به این معنی که فقط برای استفاده توسط Windows Service هنگام اجرای Router به عنوان یک سرویس در نظر گرفته شده است.

این گزینه تنها در Windows در دسترس است.

•--update-credentials-section
قالب خط فرمان --update-credentials-section section_name
مختص پلتفرم Windows

این گزینه تنها در Windows در دسترس است، و به مخزن گذرواژه (password vault) آن اشاره دارد.

•--conf-target-cluster
قالب خط فرمان --conf-target-cluster value
نوع رشته
مقادیر معتبر current primary

گزینهٔ متادیتای target_cluster در MySQL Router را تنظیم می‌کند. یکی از رشته‌های زیر را می‌پذیرد:

•current: مقدار target_cluster را روی خوشه‌ای تنظیم می‌کند که حاوی گره مورد استفاده برای راه‌اندازی اولیه (bootstrap) است. این گزینه آن را با مقدار UUID خوشه مشخص می‌کند.

اگر این گره خوشهٔ اصلی (Primary) نیز باشد، برخلاف مقدار primary تغییرات نقش را به‌صورت پویا دنبال نمی‌کند؛ بلکه ثابت باقی می‌ماند.

•primary: مقدار target_cluster را روی خوشهٔ اصلی (primary) تنظیم می‌کند، از جمله زمانی که در زمان اجرا تغییر یابد.

همچنین --config-target-cluster-by-name را ببینید که target_cluster را روی یک نام خوشهٔ ایستای مشخص تنظیم می‌کند.


نکته
راه‌اندازی اولیه در برابر یک ClusterSet[2] نیازمند آن است که گزینهٔ پیکربندی cluster_type در Router روی gr تنظیم شده باشد.
•--conf-set-option
قالب خط فرمان --conf-set-option section_name[:optional_section_key].option=value
نوع رشته

مقداری را برای یک گزینهٔ پیکربندی تولیدشده در طول راه‌اندازی اولیه تنظیم می‌کند؛ با این گزینه می‌توان مقداری را برای هر گزینهٔ راه‌اندازی‌شده تعیین کرد، برای مثال:

$> mysqlrouter -B 127.0.0.1:5000 \
               --directory=dir1  \
               --conf-set-option=logger.level=debug \
               --conf-set-option=routing:test_rw.max_connect_errors=0 \
               --conf-set-option=routing:test_ro.max_connect_errors=0

این دستورها مقادیر پیش‌فرض آن گزینه‌های خاص را با تعریف آن‌ها بدین صورت تغییر می‌دهند:

[logger]
level=debug
[routing:test_rw]
...
max_connect_errors=0
...
[routing:test_ro]
...
max_connect_errors=0
...

تعاریف --conf-set-option نسبت به پارامترهای اختصاصی گزینه‌ها برای تعیین مقداری مشخص، دارای اولویت هستند. برای نمونه، اگر هر دوی --connect-timeout=X و --conf-set-option=DEFAULT.connect_timeout=Y هنگام راه‌اندازی اولیه مشخص شوند، مقدار connect_timeout در فایل پیکربندی تولیدشده روی Y تنظیم خواهد شد.

•--conf-target-cluster-by-name
قالب خط فرمان --conf-target-cluster-by-name clusterName
نوع رشته

گزینهٔ متادیتای target_cluster در MySQL Router را روی یک نام خوشهٔ مشخص تنظیم می‌کند.

یا در عوض، از --conf-target-cluster برای انتساب یک نوع خوشهٔ پویا، مانند primary، استفاده کنید.

•--remove-credentials-section section_name
قالب خط فرمان --remove-credentials-section section_name
مختص سیستم‌عامل Windows

اطلاعات احراز هویت را برای یک بخش مشخص حذف می‌کند.

این گزینه فقط در Windows در دسترس است و به مخزن گذرواژه (password vault) آن اشاره دارد.

•--clear-all-credentials
قالب خط فرمان --clear-all-credentials
مختص سیستم‌عامل Windows

مخزن گذرواژه را با حذف تمامی اطلاعات احراز هویت ذخیره‌شده در آن پاک‌سازی می‌کند.

این گزینه فقط در Windows در دسترس است و به مخزن گذرواژه (password vault) آن اشاره دارد.

•--disable-rest
قالب خط فرمان --disable-rest

به‌طور پیش‌فرض، جزئیات پیکربندی مربوط به قابلیت‌های وب‌سرویس MySQL Router REST API هنگام bootstrap به فایل mysqlrouter.conf تولیدشده افزوده می‌شود؛ و این پارامتر به این معنی است که آن جزئیات اضافه نشوند. این کار قابلیت REST API را غیرفعال نمی‌کند، زیرا کارکرد REST API می‌تواند بعداً به‌صورت دستی (برای فعال‌سازی آن) پیکربندی شود.

•--https-port
قالب خط فرمان --https-port value
نوع عدد صحیح
مقدار پیش‌فرض 8443
حداقل مقدار 1
حداکثر مقدار 65535

به‌صورت اختیاری، port سرور HTTP را برای MySQL Router REST API ذیل بخش [http_server] در فایل mysqlrouter.conf ایجادشده هنگام bootstrap تعیین می‌کند. مقدار پیش‌فرض آن 8443 است. در دسترس بودن پورت بررسی نمی‌شود.

کپی‌رایت © 2006, 2026 متعلق به Oracle و/یا وابستگان آن است.

این مستندات نرم‌افزار آزاد است؛ شما می‌توانید آن را تنها تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License) همان‌طور که توسط «بنیاد نرم‌افزار آزاد» (Free Software Foundation) منتشر شده است، بازتوزیع کرده و/یا تغییر دهید؛ نسخهٔ ۲ مجوز.

این مستندات به این امید که مفید واقع شود توزیع شده است، اما «بدون هرگونه ضمانت»؛ حتی بدون ضمانت ضمنی «قابل فروش بودن» یا «مناسب بودن برای یک هدف خاص». برای جزئیات بیشتر به «مجوز عمومی همگانی گنو» مراجعه کنید.

شما باید به همراه این برنامه نسخه‌ای از «مجوز عمومی همگانی گنو» را دریافت کرده باشید؛ در غیر این صورت، به آدرس Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA مکاتبه کرده یا به http://www.gnu.org/licenses مراجعه کنید.

1.
اتصال با استفاده از رشته‌های اتصال شبه‌URI
2.
ClusterSet

Oracle Corporation (http://dev.mysql.com).

03/24/2026 MySQL 9.7