تنظیمات برای اجازه دادن به رایانه های شخصی دیگر برای اتصال به پایگاه داده های MySQL (نسخه ویندوز)

صفحه به روز شده :
تاریخ ایجاد صفحه :

محیط عملیاتی

Mysql
  • خروجی زیر 8.0
ویندوز
  • ویندوز 11

پیش نیازها

Mysql
  • خروجی زیر 8.0
ویندوز
  • ویندوز 11
  • ویندوز 10
ویندوز سرور
  • ویندوز سرور 2022
  • ویندوز سرور 2019
  • ویندوز سرور 2016
  • ویندوز سرور 2012 R2

پیششرط

  • MySQL 8 نصب شده است

بررسی Firewall

در MySQL، فایروال در هنگام نصب روی صفحه زیر تنظیم می شود، بنابراین نیازی به پیکربندی تنظیمات اضافی نیست.

تنظیمات فایروال خود را فقط در مورد بررسی کنید. از انجا که عملیات تا نمایش بسته به نسخه ویندوز متفاوت است، "فایروال" را در منوی شروع وارد کنید تا ان را نمایش دهید.

"پیشرفته" را از منوی سمت چپ انتخاب کنید.

اگر "قوانین ورودی" را از سمت چپ انتخاب کنید، می توانید ببینید که "بندر 3306" و "پورت 33060" به لیست اضافه شده اند. این چیزی است که در MySQL اضافه شده است.

در حال بررسی پرونده پیکربندی

پیش از این، لازم بود از فایل پیکربندی تغییر کند bind-address ، اما در نسخه فعلی، این مورد وجود ندارد، بنابراین نیازی به تغییر تنظیمات نیست.

فایل پیکربندی MySQL در Windows را می توان در مکان های زیر یافت: ProgramData پوشه پنهان است، بنابراین مسیر را مستقیما به نوار ادرس File Explorer وارد کنید یا پوشه پنهان را برای قابل مشاهده تنظیم کنید.

C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

تنظیمات مجوز دسترسی کاربر

برای ورود به پایگاه داده MySQL، باید یک کاربر را مشخص کنید، اما به طور پیش فرض همه کاربران فقط می توانند به صورت محلی به ان دسترسی پیدا کنند. بنابراین، در اینجا ما مجوزها را برای کاربر تنظیم خواهیم کرد.

من در یک حساب کاربری عمل می کنم تا root این بار مرحله اضافه شدن حساب را ذخیره کنم. در عملیات واقعی، ایجاد یک حساب کاربری جداگانه و اجازه اتصال به ان حساب مطلوب است.

دو راه برای اجازه دادن به اتصالات وجود دارد: با استفاده از یک دستور یا با استفاده از GUI.

تنظیم امتیازات دسترسی کاربر (عملیات GUI)

از منوی Start، "MySQL -> MySQL Workbench 8.0 CE" را برای شروع ان انتخاب کنید.

هنگامی که ان را شروع می کنید، یک نمونه پیش فرض در گوشه پایین سمت چپ وجود دارد، بنابراین ان را انتخاب کنید.

از شما رمز عبور خواسته می شود، بنابراین با حساب ریشه وارد شوید.

برگه مدیریت را از منوی Navigator در سمت چپ انتخاب کنید و Users and Privileges را انتخاب کنید.

در لیست، حسابی را انتخاب کنید که می خواهید مجوزها را تغییر دهید. root در این مورد، ما یک حساب را انتخاب کرده ایم.

Limit to Hosts Matching من فکر می کنم که یک مورد وجود دارد و ان را به localhost طور پیش فرض تنظیم شده است. این بدان معنی است که فقط از localhost قابل دسترسی است. این مقدار را به ادرس های IP رایانه های شخصی که می خواهید اجازه اتصال به ان را بدهید تنظیم کنید. اگر به طور معمول وارد شوید، تنها یک واحد هدف قرار می گیرد، اما اگر می خواهید یک محدوده را انتخاب کنید، می توانید از wildcard "٪" استفاده کنید، بنابراین اگر "192.168.0.٪" را مشخص کنید، اجازه می دهید "192.168.0.0" ~ "192.168.0.255".

پس از ورود، می توانید ان را با کلیک بر روی دکمه "Apply" در پایین سمت راست اعمال کنید.

شما می توانید ببینید که لیست کاربران نیز تغییر کرده است.

تنظیم امتیازات دسترسی کاربر (دستورات)

مکمل
این اطلاعات قطعی نیست زیرا در محدوده تحقیق است، اما در MySQL 8، تغییر میزبان مجوز با یک فرمان پس از ایجاد کاربر امکان پذیر نیست، بنابراین لازم است میزبان را در زمان ایجاد کاربر تایید کنید.

از منوی Start، "MySQL -> MySQL 8.0 Command Line Client" را انتخاب کنید و ان را اجرا کنید.

شما برای یک رمز عبور خواسته خواهد شد، بنابراین رمز عبور ریشه را وارد کنید.

شما می توانید لیست کاربران و میزبان ها را با وارد کردن فرمان زیر مرور کنید:

select user,host from mysql.user;

برای ایجاد یک کاربر، فرمان زیر را وارد کنید: ادرس IP رایانه ای را که می خواهید به صورت خارجی به "میزبان مجوز" متصل شوید وارد کنید. از انجا که می توان از wildcard "٪" استفاده کرد، "٪" را وارد کنید تا اجازه دسترسی از همه را بدهید و "192.168.0.0" ~ "192.168.0.255" اجازه می دهد "192.168.0.٪". اگر می خواهید "٪" را شامل شوید، ان را در علامت نقل قول تک قرار دهید.

create user <ユーザー名>@<アクセス許可ホスト> identified by '<パスワード>';

ورودی مثال

create user user1@'192.168.0.%' identified by 'xxxxxxxx';

من قادر به ایجاد یک کاربر با دستور بالا بودم، اما من هیچ امتیاز دسترسی ندارم، بنابراین مجوزها را با دستور زیر اضافه می کنم.

انواع امتیازات شامل "ALL [PRIVILEGES]"، "CREATE (اجازه ایجاد پایگاه داده ها، جداول و غیره)" و "SELECT (فهرست سوابق جدول)" است. لطفا وب سایت رسمی را برای محتوای مجوزها بررسی کنید.

مجوزهای تنظیم شده را می توان بر اساس هر پایگاه داده یا هر جدول مشخص کرد. اگر "*.*" را وارد کنید، می توانید مجوزهای دسترسی را برای تمام پایگاه داده ها و جداول تنظیم کنید.

grant <権限の種類> on <データベース名>.<テーブル名> to <ユーザー名>@<アクセス許可ホスト>;

ورودی مثال

grant all privileges on *.* to user1@'192.168.0.%';

برای منعکس کردن تنظیمات، فرمان زیر را وارد کنید:

flush privileges;

اگر دوباره لیست کاربر را بررسی کنید، می توانید تایید کنید که ایجاد و پیکربندی شده است.

بررسی اتصال

هر ابزاری که می تواند از خارج متصل شود خوب است، اما این بار ما سعی خواهیم کرد با Workbench، مشتری رسمی MySQL ارتباط برقرار کنیم.

شروع Workbench اگر شما ان را بر روی یک کامپیوتر دیگر نصب شده است.

یک اتصال MySQL اضافه کنید.

تنظیمات مورد نیاز برای اتصال را وارد کنید. شما می توانید از یک نام DNS استفاده کنید، اما به دلایلی من نمی توانم به Workbench متصل شوم، بنابراین ان را با ادرس IP مشخص کردم.

اگر اتصال بررسی و موفقیت امیز باشد، می توان قضاوت کرد که تنظیم طبیعی است.