نصب دستی MySQL در ویندوز. اصول مدیریت MySQL با استفاده از خط فرمان توقف سرور mysql از خط فرمان




برای Win 32، توزیع را انتخاب کنید: Windows (x86، 32-bit)، Zip-Archive.

برای Win 64: ویندوز (x86، 64 بیتی)، Zip-Archive.

پس از کلیک بر روی دکمه دانلود فرم ثبت نام را مشاهده می کنید، می توانید با کلیک بر روی لینک زیر از آن صرفنظر کنید - نه ممنون، فقط مرا به دانلودها ببرید.

2. یک پوشه نصب ایجاد کنید. مثلا . و محتویات آرشیو را در آن باز کنید تا پوشه ها bin، داده ها، اسناد و موارد دیگردر ریشه پوشه نصب بودند.

3. بیایید به ایجاد یک فایل پیکربندی (my.ini) برویم. ما یکی از فایل های استاندارد را به عنوان پایه در نظر می گیریم:

  • my-small.ini – مناسب برای کسانی که هر از گاهی از MySQL استفاده می کنند و نمی خواهند سرور منابع زیادی را اشغال کند.
  • my-medium.ini همچنین یک پیکربندی کم منابع است، اما برای کسانی که به طور منظم از MySQL استفاده می کنند مناسب است (انتخاب خوبی برای وب سرور خانگی).
  • my-large.ini و my-huge.ini – برای سیستم هایی که به عنوان یک سرور اختصاصی MySQL استفاده می شوند. با این حال، اگر به عملکرد MySQL اضافی نیاز دارید، my-large.ini را می توان برای سرور خانگی استفاده کرد (512 مگابایت رم در این روزها زیاد نیست).
  • my-innodb-heavy-4G – برای سرورهای اختصاصی با حداقل 4 گیگابایت رم و تنها از جداول InnoDB استفاده می کنند.

در این مثال، من my-medium.ini را به عنوان پایه انتخاب کردم. نام آن را به my.ini تغییر دهید و آن را در ریشه پوشه نصب قرار دهید ( C:\Program Files\MySQL\MySQL Server 5.5).

برای ویرایش باز کنید (در Notepad معمولی) و بلافاصله بعد از خط دو پارامتر اضافه کنید:

Basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/data

توجه داشته باشید که مسیرها به جای اسلش عقب (\) از اسلش رو به جلو (/) استفاده می کنند.

baseir مسیر پوشه نصب است.

datadir – مسیر به پوشه داده (جایی که همه پایگاه های داده در آن ذخیره می شوند). گاهی اوقات منطقی است که داده ها را روی یک دیسک جداگانه برای بهبود عملکرد یا اطمینان از قابلیت اطمینان قرار دهید.

در هر صورت، در اینجا قطعه ای از فایل پیکربندی پس از انجام تغییرات وجود دارد:

# سرور MySQL basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/درگاه داده = سوکت 3306 = /tmp/mysql.sock = skip-external-locking 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K InnoDB_sort_8M_s

4. مرحله بعدی اضافه کردن مسیر است C:\Program Files\MySQL\MySQL Server 5.5\binبه متغیر محیطی PATH تا راه اندازی MySQL از خط فرمان آسان تر شود. برای انجام این کار، System Properties -> Additional system settings -> را در تب Advanced، در پایین، دکمه Environment Variables... را باز کنید. در پنجره ای که باز می شود، بین متغیرهای سیستم حرکت کنید تا مسیر را پیدا کنیم. این خط را انتخاب کنید و روی "تغییر..." کلیک کنید. در انتهای خط مسیر خود را با حفظ پارامترهای موجود اضافه می کنیم:

توجه داشته باشید که مسیرها با نقطه ویرگول از هم جدا می شوند. اطمینان حاصل کنید که یک نقطه ویرگول در ابتدا و انتهای مسیر شما وجود دارد.

5. قبل از اجرای آزمایشی، پورت TCP ورودی 3306 را در فایروال ویندوز باز کنید:


اگر یک فایروال اضافی روی سیستم خود نصب کرده اید، باید پورت TCP 3306 را نیز برای اتصالات ورودی باز کنید.

6. اکنون یک آزمایش آزمایشی انجام می دهیم. در خط فرمانی که به عنوان مدیر راه اندازی شده است (اگر UAC در Seven یا Vista فعال باشد، این مورد لازم است)، اجرا کنید:

Mysqld -- کنسول

چندین خط روی صفحه نمایش داده می شود. اگر پرتاب موفقیت آمیز بود، آخرین خط چیزی شبیه به این خواهد بود:

نسخه: سوکت "5.5.9-log": پورت "": 3306 MySQL Community Server (GPL)

این پنجره را باز بگذارید و پنجره خط فرمان دیگری را باز کنید که در آن وارد می کنیم:

ریشه Mysql -u

اگر اتصال موفقیت آمیز بود، یک خط فرمان خواهید دید: mysql>

بیایید ببینیم چه پایگاه داده ای داریم:

نمایش پایگاه های داده؛

نقطه ویرگول در انتهای کوئری SQL اجباری است!

پاسخ تیم:


اکنون ما در نهایت متقاعد شده ایم که سرور کار می کند.

7. بیایید به مرحله بعدی برویم - باید رمز عبور مدیر MySQL (کاربر ریشه) را تنظیم کنید. هیچ رمز عبوری به طور پیش فرض تنظیم نشده است و باید اصلاح شود. در همان پنجره MySQL، دستورات زیر را وارد کنید:

استفاده از mysql UPDATE user SET password = PASSWORD("your_password") WHERE user = "root";

بیایید نتیجه را بررسی کنیم:

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

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

قبل از خروج، دستور را اجرا کنید:

امتیازات فلاش؛

حال هنگام اتصال باید رمز عبور را وارد کنید. برای این کار از سوئیچ -p استفاده کنید:

Mysql -u root -p

برای خاموش کردن MySQL اجرا کنید:

خاموش شدن Mysqladmin -u root -p

8. آخرین مرحله راه اندازی MySQL به عنوان یک سرویس سیستم ویندوز است.

اطمینان حاصل کنید که هیچ فرآیند MySQL فعالی در سیستم وجود ندارد.

در خط فرمانی که به عنوان مدیر اجرا می شود، اجرا کنید:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install

مسیر mysqld باید به طور کامل مشخص شود (حتی اگر در PATH ذکر شده باشد)!

برای راه اندازی سرویس، "Computer Management" را باز کرده و به صورت دستی سرویس MySQL را راه اندازی کنید:


یا از طریق خط فرمان ساده تر:

Net start mysql

برای حذف یک سرویس، ابتدا آن را متوقف کنید:

Net stop mysql

و اجرا کنید:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --remove

دوستان من اغلب سوالات خاصی در مورد مدیریت از من می پرسند، و من فکر می کنم چرا به جای اینکه یک موضوع را 100 بار توضیح دهم، چنین مقاله-یادداشت هایی را در سایت بنویسم؟ علاوه بر این، در صورت لزوم، این یک فرصت عالی است تا خودتان از چنین یادداشتی استفاده کنید، زیرا خودتان می دانید که گاهی اوقات نمی توان همه چیز را در ذهن خود نگه داشت و به هر طریقی گاهی اوقات باید به یک کتاب مرجع مراجعه کنید. پس اجازه دهید یکی از بخش های این سایت به چنین کتابی تبدیل شود. امروز ما در مورد نحوه کار با MySQL DBMS از خط فرمان صحبت خواهیم کرد، بله، کسی می گوید - "کدام؟ به هر حال، phpMyAdmin وجود دارد،» من پاسخ می‌دهم - چرا منابع سرور گرانبها را با نصب انواع مزخرف مانند WebMin، phpMyAdmin و غیره هدر می‌دهیم، اگر همین کار را می‌توان به راحتی با ابزارهای مطمئن و اثبات شده انجام داد. راه اندازی از ترمینال از طریق یک تونل SSH انتخاب ماست!

خوب، بیایید شروع کنیم. ما از طریق SSH به سرور متصل می شویم، به عنوان مثال از طریق PuTTY معروف (A Free Telnet/SSH Client). حالا بیایید به توضیح دستورات بپردازیم.

با استفاده از برنامه mysql وارد سرور MySQL شوید:

mysql -u root -h localhost -p

گزینه -u کاربر را برای ورود به سیستم مشخص می کند. گزینه -h میزبان را مشخص می کند. اگر یک سرور غیر راه دور راه اندازی می کنید، معمولاً لوکال هاست است. در نهایت، -p به برنامه مشتری mysql می گوید که یک رمز عبور برای دسترسی به پایگاه داده وارد می شود. به دستور mysql> توجه کنید. اینجاست که تمام دستورات خود را وارد خواهید کرد. اکنون که به عنوان کاربر اصلی در محیط mysql هستیم، می توانیم راه اندازی پایگاه داده را آغاز کنیم.

ما وارد سیستم شدیم و اعلان mysql روی صفحه ظاهر شد. ابتدا بیایید نگاهی به لیست پایگاه های داده موجود بیندازیم. برای این کار دستور SHOW DATABASES را وارد کنید.

پاسخ به وضوح نشان می دهد که دستور بدون هیچ خطایی اجرا شده است. در این مورد، یک خط تغییر کرده است. این به پایگاه داده اصلی mysql اشاره دارد که حاوی لیستی از تمام پایگاه های داده است. اما لازم نیست زیاد نگران جزئیات جزئی باشید. آخرین عدد نشان دهنده زمان اجرای درخواست است. با اجرای مجدد دستور SHOW DATABASES می توانیم تأیید کنیم که پایگاه داده ایجاد شده است.

برای شروع ایجاد جداول در پایگاه داده آزمایشی جدید، باید آن را به عنوان فعلی تنظیم کنیم. برای این کار از دستور USE استفاده کنید. پارامتر این دستور نام پایگاه داده ای را که باید جاری شود را مشخص می کند. همچنین می توانید پایگاه داده فعلی را با تعیین نام آن پس از پارامتر -D در خط فرمان نصب کنید. بیایید جلو برویم و به پایگاه داده آزمایشی سوئیچ کنیم.
تغییر پایگاه داده:

تست استفاده؛

امتیازات در MySQL

اعطای امتیازات توسط یک تیم اعطا کردن.
امتیازها تعیین کننده توانایی کاربر برای دسترسی به پایگاه های داده، جداول... تقریباً هر چیزی است. در حال حاضر، با توجه به این مجوزها، تنها ابرکاربر ریشه MySQL می تواند به پایگاه داده آزمایشی دسترسی داشته باشد. بیایید یک کاربر دیگر به عنوان مثال مدیر ایجاد کنیم که به پایگاه داده آزمایشی دسترسی داشته باشد و با اطلاعات آن کار کند. اما قبل از شروع، اجازه دهید نگاهی به فرمت تا حدودی ساده شده دستور GRANT بیندازیم.

توجه داشته باشید: دستور GRANT راهی برای ایجاد کاربر در نظر گرفته می شود. با این حال، نسخه‌های بعدی MySQL دارای تابع CREATE_USER هستند، اگرچه GRANT همچنان ترجیح داده می‌شود.
اکنون ما به امتیازاتی نیاز داریم که بتوان آنها را تخصیص داد. با استفاده از تمام موارد فوق، می توانید امتیازات زیر را تنظیم کنید:

توجه داشته باشیدتوجه: اگر از MySQL برای برقراری ارتباط با یک برنامه وب استفاده می کنید، امتیازات CREATE، SELECT، INSERT که در اینجا توضیح داده شده است، و همچنین امتیازات DELETE و UPDATE (شرح شده در راهنمای MySQL، بخش GRANT و ReEVOKE Syntax) تنها مواردی هستند که احتمالا مورد نیاز خواهد بود. بسیاری از مردم این اشتباه را مرتکب می شوند که تمام امتیازات را در زمانی که واقعاً ضروری نیست، از دست می دهند. با توسعه دهندگان برنامه بررسی کنید تا ببینید آیا چنین مجوزهایی واقعاً باعث مشکلات عملیاتی می شوند یا خیر.

ایجاد کاربر ادمین:

بنابراین، کاربران ایجاد می شوند. حالا بیایید آنها را آزمایش کنیم. ابتدا بیایید با نوشتن quit در اعلان از mysql خارج شویم:

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

Revoke ALL ON test.* FROM "admin" @"localhost" ;

توجه داشته باشید: در این مورد، دسترسی کاربر ساده است، بنابراین لغو حقوق یک پایگاه داده مشکلی ندارد. اما به طور کلی، احتمالاً می خواهید از *.* به جای test.* برای لغو دسترسی کاربر به سایر پایگاه های داده به طور همزمان استفاده کنید.

حال بیایید نگاهی به نحوه حذف کامل یک حساب کاربری با استفاده از دستور DELETE بیندازیم و به جدول کاربر MySQL نگاه کنیم.

حذف اکانت ها با دستور حذف.
جدول کاربری MySQL لیستی از کاربران و اطلاعات آنهاست. مطمئن شوید که به عنوان root وارد شده اید. از پایگاه داده اصلی MySQL استفاده کنید.

استفاده از پایگاه داده اصلی mysql:

جدول کاربر همان چیزی است که شما نیاز دارید. دارای 30 زمینه مختلف است و خواندن آن دشوار است. برای سهولت در خواندن، از فرم سوم دستور SELECT استفاده می کنیم. فیلدهایی که به دنبال آن هستید عبارتند از Host و User.
یافتن کاربر ادمین در جدول کاربر:

اکنون که اطلاعات را در اختیار داریم، می توانیم از شر کاربر ادمین خلاص شویم. این کار با دستور DELETE انجام می شود. در اینجا نحو آن است:

شاید متوجه شده باشید که فرمت DELETE تا حدودی شبیه فرمت SELECT است. بیایید فیلد User و مقدار admin را مشخص کنیم. با این کار ورودی از جدول کاربری که در آن کاربر مدیر است حذف می شود و حساب ما حذف می شود. بیا انجامش بدیم:
حذف کاربر ادمین:

دستور FLUSH PRIVILEGES برای به روز رسانی مجوزها مورد نیاز است.

برای امروز کافی است. موافقم، ساده است! ;)

روز بخیر همکاران :)

بله، دقیقاً همکاران، زیرا برای یک انسان فانی، خط فرمان MySQL (یا MySQL Shell، همانطور که توسعه دهندگان نیز دوست دارند آن را بخوانند)، و همچنین کار با MySQL در کنسول، بعید است مفید باشد.

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

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

من در حال حاضر سه تا از آنها را دارم:

  1. اولین باری که با کار در کنسول MySQL مواجه شدم زمانی بود که نیاز داشتم یک پایگاه داده بزرگ را وارد کنم. به طور کامل از طریق phpMyAdmin بارگیری نشده است، زیرا ... علیرغم تغییر تنظیمات زمان اجرای عملیات و حجم فایل های دانلود شده، به دلیل تایم اوت، جایی در وسط افتاد. در اصل، امکان انتخاب مقادیر لازم وجود داشت، اما به نظر من این یک روند بسیار طولانی بود.
  2. دفعه بعد که مجبور شدم از طریق خط فرمان با MySQL کار کنم، غیرفعال کردن بررسی کلیدهای خارجی بود، زمانی که نیاز به حذف داده‌ها از جدولی داشتم که با استفاده از کلیدها به دیگران پیوند داده شده بود. من فقط نتوانستم این کار را در phpMyAdmin پیدا کنم.
  3. شرکت های جدی فقط از کنسول برای کار با MySQL بدون هیچ گونه phpMyAdmin استفاده می کنند. دقیقاً نمی‌دانم چرا، اما افراد آگاه گفتند که ربطی به امنیت دارد. در نتیجه، همه مجبور بودند با خط فرمان MySQL کار کنند، از جمله من :)

اما باز هم کار با MySQL در کنسول و خط فرمان برای استفاده روزمره کاملاً مناسب است. همه برنامه های بصری شناخته شده برای کار با پایگاه های داده هنوز بر اساس دستورات کنسول MySQL کار می کنند. بنابراین، همانطور که دوست دارید :)

اجرای کنسول روی سیستم عامل های مختلف

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

این عمل ساده است، برای بسیاری آشنا است، که برای آن دانش "کلیدهای داغ" کافی است.

راه اندازی کنسول در ویندوز:

  • Win+R برای باز کردن خط فرمان ویندوز با حقوق مدیر؛
  • دستور را وارد کنید cmd
  • کلیک واردروی صفحه کلید

راه اندازی کنسول در توزیع های لینوکس (ترمینال): در اوبونتو که من با آن کار کردم ترکیب کلید سیستم کافی است Ctrl+Alt+T. من نمی توانم در مورد سایر سیستم عامل های مبتنی بر لینوکس چیزی بگویم.

راه اندازی کنسول در MacOS: من خودم این کار را نکرده ام، زیرا... من هنوز مک نگرفته ام و بعید است که آن را دریافت کنم زیرا به آن نیازی ندارم، اما تا آنجا که توانستم بفهمم، هیچ "کلید داغ" برای فراخوانی ترمینال در این سیستم عامل وجود ندارد. بنابراین اگر از کاربران محصولات اپل هستید، کنسول را از طریق رابط سیستم عامل راه اندازی کنید، خوشبختانه راهنماهای زیادی در اینترنت وجود دارد.

حتی انتشار چنین اطلاعاتی کمی شرم آور است در صورتی که یک مدیر سیستم حرفه ای با تجربه گسترده به طور تصادفی به این مقاله برخورد کند، زیرا او فکر خواهد کرد: "نویسنده خوانندگان خود را برنامه نویس می داند، اما در عین حال نحوه راه اندازی یک کنسول را آموزش می دهد ... نوعی روانی :-)."

بله، کاملاً منطقی است :) اما من فقط وضعیتی را در نظر می‌گیرم که در کنار توسعه‌دهندگان حرفه‌ای، مبتدی‌ها نیز می‌توانند به اینجا برسند. به همین دلیل سعی می کنم همانطور که قبلاً اشاره کردم اطلاعات را کامل و در دسترس همه دسته های کاربران قرار دهم.

دستورات اولیه کنسول MySQL

بنابراین، اول از همه، باید به خط فرمان MySQL در کنسول دسترسی داشته باشیم. برای انجام این کار، کنسول سرور را باز کنید و اگر MySQL را به صورت سراسری به عنوان سرویس نصب کرده اید، سپس برای "بررسی اتصال" موارد زیر را می نویسیم:

Mysql -V

دستور کنسول mysqlبه ما اجازه می دهد تا ابزاری با همین نام را که یک خط فرمان MySQL است راه اندازی کنیم.

این به ما امکان می دهد نسخه MySQL نصب شده روی رایانه را پیدا کنیم و مطمئن شویم که اصلاً به عنوان یک سرویس نصب شده است. اگر اینطور باشد، چیزی شبیه به متن زیر را در کنسول خواهید دید: .

بله، من یک "کدنویس دیوانه" نیستم، زیرا از ویندوز استفاده می کنم :) اما این موضوع نیست. در سیستم‌های یونیکس، رویه یکسان خواهد بود.

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

در کنسول، با دستور زیر به فهرستی که فایل اجرایی MySQL در آن قرار دارد (در ویندوز، حداقل mysql.exe است) بروید:

سی دی C:\OpenServer\modules\database\MySQL-5.7-x64\bin

طبیعتا مسیر شما به سمت توزیع ممکن است متفاوت باشد. به عنوان مثال، من تصمیم گرفتم یکی از نسخه های MySQL را که با OpenServer همراه است اجرا کنم.

و ما MySQL را راه اندازی می کنیم و نسخه آن را در طول مسیر بررسی می کنیم:

Mysql.exe -V

در نتیجه باید پیامی مشابه مورد اول در کنسول نمایش داده می شد mysql نسخه 14.14 توزیع 5.7.16، برای Win64 (x86_64).

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

اتصال به سرور MySQL در کنسول

سرور MySQL ممکن است لزوماً روی همان دستگاهی نباشد که شما می‌خواهید به آن در کنسول دسترسی پیدا کنید. بنابراین، به منظور امکان اتصال به یک سرور MySQL راه دور از طریق کنسول، ابزار mysql دارای پارامترهای زیادی است که با آن می توانید تنظیمات لازم را مشخص کنید.

برای راه اندازی خط فرمان MySQL در کنسول، فقط باید موارد زیر را در کنسول سرور بنویسیم:

اما در این صورت خطای زیر را دریافت خواهید کرد: ERROR 1045 (28000): دسترسی کاربر 'ODBC'@'localhost' ممنوع شد (با استفاده از رمز عبور: خیر). اینگونه پیام خطا در ویندوز من به نظر می رسد. اگر از لینوکس استفاده می کنید، به جای ODBC نام کاربر سیستم شما وجود خواهد داشت که تحت آن اقداماتی را در سیستم انجام می دهید.

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

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

Mysql -u root -p

هنگامی که از شما خواسته شد رمز عبور را وارد کنید، به سادگی Enter را فشار دهید (البته اگر آن را وارد نکرده اید، هنگام نصب MySQL). سپس به سرور MySQL متصل می شوید، یک شناسه اتصال به شما اختصاص داده می شود و به خط فرمان MySQL دسترسی خواهید داشت.

اگر می خواهید به یک سرور MySQL که دارای نام میزبان یا IP خاصی است متصل شوید یا می خواهید به عنوان کاربر دیگری وارد شوید، از دستوری با فرمت زیر استفاده کنید:

Mysql -u user_name -p user_password -h MySQL_server_host_or_IP

البته به جای نویسه های سیریلیک با خط زیر، باید اطلاعات خود را با حروف لاتین وارد کنید. به هر حال، در صورت تمایل، می توانید این دستور را با فرمت کمی متفاوت بنویسید:

Mysql --user=user_name --password=user_password --host=host_or_IP_of_MySQL_server

اگر به دلایلی نمی خواهید رمز عبور اتصال MySQL شما در کنسول ظاهر شود (که در واقع درست است)، می توانید از دستور زیر استفاده کنید:

Mysql -u user_name -h MySQL_server_host_or_IP -p

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

علاوه بر تنظیمات اتصال مشخص شده، می توان از پارامترهای زیر استفاده کرد که مقادیر آنها به روشی مشابه موارد ذکر شده در بالا مشخص می شود:

  1. --port یا -P - برای تعیین پورت برای اتصال به سرور MySQL.
  2. —پروتکل — پروتکلی که از طریق آن اتصال برقرار خواهد شد (گزینه های ممکن: TCP برای ویندوز و لینوکس، SOCKET برای لینوکس، PIPE و MEMORY برای ویندوز).
  3. --socket یا -S - این پارامتر برای اتصال از طریق سوکت مفید است، بنابراین مقدار پارامتر سوکت خواهد بود.
  4. --pipe یا -W - اگر می خواهید از "pipelines" یا "pipes" برای اتصالات استفاده کنید به پارامتر نیاز است.
  5. --shared-memory-base-name - این پارامتر برای اتصالات MEMORY از طریق حافظه مشترک در ویندوز مفید خواهد بود.

واضح است که لیست تمام پارامترهای اتصال به سرور MySQL به این محدود نمی شود. در واقع تعداد بیشتری از آنها وجود دارد.

اگر به دلایلی گزینه استاندارد که میزبان، کاربر و رمز عبور را نشان می دهد مناسب شما نیست، برای پیدا کردن لیست کامل پارامترهای اتصال، اطلاعات زیر برای شما مفید خواهد بود - https://dev.mysql.com/doc/ refman/5.7/en/ connecting.html

نحوه ایجاد پایگاه داده در کنسول MySQL

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

CREATE DATABASE database_name;

همین عمل را می توان با استفاده از ابزار ویژه MySQL انجام داد mysqladmin. به صورت مجزا از خط فرمان MySQL اجرا می شود، یعنی. برای استفاده از آن، باید از آن خارج شوید یا یک کنسول سرور جدید باز کنید.

و سپس دستور زیر را فراخوانی کنید:

mysqladmin ایجاد database_name;

به هر حال، با استفاده از ابزار mysqladmin نه تنها می توانید بدون ورود به کنسول MySQL پایگاه داده ایجاد و حذف کنید، بلکه می توانید پیکربندی سرور، پردازش های MySQL، مدیریت تکرارها، پینگ سرورها و بسیاری از کارهای جالب دیگر را انجام دهید.

نحوه ایجاد یک کاربر MySQL در خط فرمان

نه اغلب، اما گاهی اوقات لازم است یک کاربر MySQL جدید ایجاد کنید. علاوه بر این، در حالت کنسول.

در خط فرمان MySQL این کار به صورت زیر انجام می شود:

ایجاد کاربر "user_name"@"host_or_machine_IP" شناسایی شده توسط "user_password"؛

کاربر ایجاد شده است. پارامتر host_or_IP_machineبه این معنی است که هنگام ایجاد یک کاربر، باید IP را که از آن می تواند به سرور متصل شود یا نام میزبان (نام دامنه ماشین کار در شبکه مناسب است) مشخص کنید.

به هر حال، هنگام تعیین میزبان برای اتصال به سرور MySQL، می توانید از نماد درصد استفاده کنید - % ، به این معنی که کاربر ایجاد شده می تواند از هر آدرس IP یا میزبانی به سرور MySQL متصل شود.

باید در نظر داشت که در این مورد لوکال هاست در لیست آدرس های مشخص شده با استفاده از % قرار نمی گیرد زیرا localhost به جای TCP/IP استاندارد، اتصال از طریق سوکت یونیکس را نشان می دهد. آن ها اگر کاربر MySQL ایجاد شده بدون استفاده از سوکت، بلکه با استفاده از پروتکل دیگری که هنگام اتصال به سرور MySQL در کنسول مشخص شده است، به سرور متصل شود، باید دو حساب کاربری ایجاد کند:

ایجاد کاربر "نام کاربری"@"%" شناسایی شده با "رمز عبور"؛ ایجاد کاربر "نام کاربری"@"localhost" شناسایی شده توسط "گذرواژه"؛

ما متوجه شدیم که چگونه یک کاربر MySQL در کنسول ایجاد کنیم. اکنون اجازه دهید حقوق کاربر را برای انجام هر گونه عملکرد با پایگاه داده جدید خود با دستور زیر تنظیم کنیم:

به "user_name"@"host_or_machine_IP" همه امتیازات را به database_name اعطا کنید.

گزینه همههمانطور که متوجه شدید، فقط نشان می دهد که کاربر مجاز است هر گونه اقدامی را با یک پایگاه داده خاص انجام دهد. لیست کامل حقوقی که می توان با استفاده از دستور به کاربران اعطا کرد اعطا کردن، می توانید اینجا پیدا کنید (اگرچه توضیحات پارامترها به زبان انگلیسی است) - https://dev.mysql.com/doc/refman/5.7/en/grant.html#grant-privileges

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

اگر می خواهید یک superuser ایجاد کنید، به عنوان مثال. دارای امتیازات جهانی برای انجام اقدامات مختلف با تمام پایگاه های داده روی سرور، سپس از فراخوانی دستور زیر استفاده کنید:

اعطای همه موارد *.* به "user_name"@"host_or_machine_IP";

به هر حال، بهتر است پس از تنظیم امتیازات، کش سرور MySQL را پاک کنید. اگر آنها را تغییر دادید، همچنین فراموش نکنید که این کار را با فراخوانی دستور زیر انجام دهید:

امتیازات فلاش؛

و اگر می خواهید حقوق کاربر را تغییر دهید، ابتدا از دستور زیر برای بازنشانی همه حقوق استفاده کنید:

لغو همه امتیازات در *.* از "user_name"@"host_or_machine_IP"؛

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

اگر در آینده نیاز به تغییر رمز عبور کاربر MySQL دارید، برای انجام این کار، فقط دستورات زیر را در MySQL Shell اجرا کنید:

SET PASSWORD FOR "user_name"@"host_or_machine_IP" = PASSWORD("new_password"); امتیازات فلاش؛

بازنشانی حافظه پنهان امتیاز سرور MySQL برای همان هدفی که هنگام تغییر حقوق مورد نیاز است - بدون این عمل، تغییر رمز عبور کاربر MySQL ممکن است حساب نشود، بنابراین برای استفاده از آن تنبل نباشید :)

به هر حال، اینترنت پر از نمونه هایی از استفاده از دستور زیر برای تنظیم مجدد رمز عبور MySQL کاربر است:

به روز رسانی mysql.user SET Password=PASSWORD("password") WHERE User="username";

اما این گزینه برای من در MySQL 5.7 کار نکرد و ارور داد ERROR 1054 (42S22): ستون ناشناخته "رمز عبور" در "فیلد لیست". دلیل آن عدم وجود قسمت Password در جدول mysql.user بود.

از این رو می توانیم فرض کنیم که این گزینه فقط برای نسخه های قدیمی MySQL که این فیلد در جدول کاربر وجود دارد، کار می کند. بنابراین، برای اطمینان، از گزینه اول من استفاده کنید، مگر اینکه، البته، مجبور به کار با نرم افزار ضد غرق بدون امکان به روز رسانی نسخه ها باشید :)

این کار ایجاد یک کاربر MySQL جدید و بررسی اقدامات با حقوق و رمزهای عبور آن را تکمیل می کند. بیایید ادامه دهیم.

انتخاب پایگاه داده هنگام کار با MySQL از طریق خط فرمان

حال پس از ایجاد کاربر در MySQL Shell و اختصاص حقوق کار با دیتابیس به او، باید همین دیتابیس را انتخاب کنیم تا بتوانیم با خود پایگاه داده و داده های ذخیره شده در آن کار کنیم.

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

از نام_ پایگاه داده استفاده کنید.

اگر همه چیز خوب پیش رفت، پیامی در کنسول نمایش داده می شود پایگاه داده تغییر کرد، که نشان می دهد که ما از طریق کنسول وارد پایگاه داده MySQL شده ایم. به هر حال، هنگام اتصال به سرور MySQL، در ابتدا می توانید پایگاه داده ای را که باید با آن کار کنید مشخص کنید. برای این کار باید دستور زیر را در کنسول سرور وارد کنید:

Mysql --user=user_name --password=user_password --host=MySQL_server_host_or_IP --database=database_name

یا همان مورد، فقط درخواست رمز عبور کاربر MySQL:

mysql -u user_name -h host_or_IP_MySQL_server_database_name -p

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

کار با جداول MySQL از طریق کنسول MySQL

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

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

عملیات CRUD، اگر کسی اطلاعی نداشته باشد، عملیاتی برای ایجاد، خواندن، به‌روزرسانی و حذف داده‌ها از زبان انگلیسی است. «ایجاد، خواندن، به‌روزرسانی، حذف» (ممکن است در طول مصاحبه به این نیاز داشته باشید).

به شما یادآوری می کنم که برای انجام اقدامات با جداول ابتدا باید با استفاده از دستور به پایگاه داده MySQL متصل شوید استفاده کنید.

بنابراین، اولین چیزی که در دستور کار ما است، دستور ایجاد یک جدول MySQL در پایگاه داده از طریق خط فرمان است که به شکل زیر است:

CREATE TABLE table_name (field_name_1 field_type_1, field_name_2 field_type_2 (field_size_2), INDEX (field_name_1), ...);

همانطور که متوجه شدید، هر تعداد فیلد می تواند وجود داشته باشد، انواع آنها می تواند متفاوت باشد، همچنین وجود شاخص ها و کلیدها اختیاری است.

به هر حال، اگر می خواهید یک جدول را در پایگاه داده دیگری کپی کنید یا به سادگی یک کپی در پایگاه داده فعلی ایجاد کنید، دستورات زیر به شما کمک می کند:

ایجاد جدول new_table_name مانند old_table_name. درج new_table_name SELECT * FROM old_table_name.

این دستورات به شما این امکان را می دهد که ساختار جدول و داده های آن را به همراه شاخص ها و محرک های جدول کپی کنید. اگر فقط به داده ها و ساختار (نام فیلدها و انواع داده های آنها) نیاز دارید، می توانید با فراخوانی یک دستور به نتیجه برسید:

ایجاد جدول new_table_name به عنوان انتخاب * از old_table_name.

عملیات بعدی از بلوک CRUD خواندن است. در مورد جداول، خواندن ساختار آنها را نشان می دهد. برای انجام این کار، چهار دستور زیر وجود دارد:

نمایش ستون های کامل از table_name. توصیف جدول_نام؛ توضیح جدول_نام؛ نمایش نام جدول ایجاد جدول.

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

دستورات دوم و سوم به سادگی فرم های کوتاه شده دستور اول بدون اطلاعات گسترده هستند. چرا نیاز به تولید آنها وجود داشت - من حتی نمی توانم تصور کنم ... آیا برای این است که در طول مصاحبه های شغلی چیزی برای پرسیدن وجود داشته باشد؟ 🙂

دستور چهارم، علاوه بر نام، انواع فیلدها و مقادیر پیش فرض آنها، به شما امکان می دهد مقادیر کلیدهای جدول، موتورهای جدول (InnoDB، MyISAM)، رمزگذاری و غیره را دریافت کنید.

عملیات به روز رسانی در مورد جداول نشان دهنده تغییر در ساختار آنها است، به عنوان مثال. اقدامات مختلف با فیلدهای جدول MySQL:

ALTER TABLE جدول_نام DROP COLUMN فیلد_نام; ALTER TABLE جدول_نام ADD COLUMN فیلد_نام VARCHAR(20); ALTER TABLE جدول_نام تغییر نام_فیلد_قدیمی_نام_فیلد_جدید VARCHAR(50); ALTER TABLE جدول_نام تغییر نام فیلد_نام VARCHAR(3);

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

همین کار را می توان با شاخص های جدول با استفاده از دستورات تقریباً مشابه انجام داد:

ALTER TABLE جدول_نام افزودن فهرست_نام منحصر به فرد (فیلد_نام_1، ...); ALTER TABLE table_name تغییر نام INDEX index_name قدیمی به index_name جدید. ALTER TABLE جدول_نام DROP INDEX index_name;

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

CREATE UNIQUE INDEX index_name (field_name_1, ...) ON table_name; DROP INDEX index_name ON table_name;

دستورات داده شده معادل اولین و آخرین بلوک قبلی هستند. متأسفانه، دستور جداگانه ای برای تغییر نام ایندکس وجود ندارد. و برای تغییر نوع ایندکس متاسفانه در MySQL اصلا راهی وجود ندارد. تنها راه حل حذف ایندکس و ایجاد مجدد آن با نوع دلخواه است.

خوب، بالاخره، به آخرین عملیات از بلوک CRUD - حذف رسیدیم. حذف جداول MySQL از پایگاه داده بسیار آسان است. فقط دستور زیر را در کنسول MySQL اجرا کنید:

DROP TABLE جدول_نام;

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

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

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

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

بنابراین، برای حذف داده هایی که با کلیدهای خارجی تداخل دارند، باید مراحل زیر را در کنسول MySQL انجام دهید:

SET FOREIGN_KEY_CHECKS=0. #required_mysql_command SET FOREIGN_KEY_CHECKS=1;

به هر حال، اگر می خواهید یک کلید خارجی را حذف کنید، رویه مانند هنگام حذف یک شاخص خواهد بود:

ALTER TABLE table_name DROP FOREIGN KEY Foreign_key_name;

برای پیدا کردن نام کلید خارجی MySQL یک جدول، از دستور کنسول MySQL از قبل آشنا استفاده کنید. نشان دادن جدول ایجاد.

کار با داده های جدول MySQL از طریق خط فرمان

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

عملیات CRUD برای کار با داده های جدول MySQL به شکل زیر خواهد بود:

INSERT INTO table_name (field1, field2, ...) VALUES (مقدار فیلد_1، مقدار فیلد_2، ...); SELECT field1, field2, ... FROM table_name; به روز رسانی جدول_نام SET فیلد1 = مقدار فیلد_1، فیلد2 = مقدار فیلد_2؛ DELETE FROM table_name WHERE فیلد1 = مقدار فیلد_1;

دستورات فوق با عملیات ایجاد، خواندن، به روز رسانی و حذف داده ها از جداول پایگاه داده MySQL مطابقت دارد. هنگام استفاده از SELECT و UPDATE، همچنین می توان از یک بند واجد شرایط WHERE استفاده کرد که می تواند برای تعیین انتخاب داده به همان روشی که هنگام استفاده از DELETE توضیح داده شده است، استفاده شود.

همچنین هنگام بازیابی داده ها از پایگاه داده با استفاده از SELECT، می توانید از گزینه زیر برای بدست آوردن مقادیر تمام فیلدهای جدول استفاده کنید:

SELECT * FROM table_name.

به طور طبیعی، این عملیات می تواند از عملگرهای دیگری غیر از WHERE استفاده کند. در هنگام بازیابی داده ها با استفاده از SELECT تعداد زیادی از آنها وجود دارد: در اینجا UNION برای ترکیب نتایج چندین کوئری و انواع مختلف JOIN وجود دارد. فهرست کردن همه چیز بسیار طولانی است و خواندن این برای من و شما خسته کننده خواهد بود.

بنابراین، بیایید توافق کنیم: اگر می خواهید در مورد چیزی بیشتر بدانید، فقط در مورد آن در نظرات بنویسید، و من سعی خواهم کرد به شما پاسخ دهم. یا سایر اعضای آگاه جامعه ما این کار را انجام خواهند داد. خوب؟ 😉

بنابراین فعلاً روی این بلوک نمی پردازیم.

اگر می خواهید تمام داده ها را از یک جدول حذف کنید، می توانید از دستور MySQL زیر استفاده کنید:

TRUNCATE جدول_نام;

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

نکته جالب دیگری که در اینجا باید به آن توجه کرد این است که این دستور شمارنده AUTO_INCREMENT را بازنشانی نمی کند، که مشخص است برای تولید خودکار یک مقدار فیلد بدون نیاز به تنظیم دستی آن استفاده می شود.

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

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

با این حال، در برخی موارد، زمانی که کد برنامه دارای نوعی اتصال به مقدار یک فیلد است، این رفتار می تواند باعث ناراحتی شود.

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

TRUNCATE TABLE someTable RESTART IDENTITY;

این گزینه فراخوانی فرمان کوتاه کردنبه شما این امکان را می دهد که مقدار شمارنده فیلد را بازنشانی کنید افزایش خودکار. بنابراین مقدار فیلد اولین رکورد اضافه شده پس از این حذف به جای 1201 مانند مثال بالا 1 خواهد بود.

نحوه حذف پایگاه داده MySQL از طریق خط فرمان

چرخه عمر کار با پایگاه داده به پایان می رسد و کاملاً منطقی - با حذف آن - به پایان می رسد. برای انجام این عملیات در کنسول MySQL، باید دستور زیر را اجرا کنید (در این حالت، پایگاه داده ای که باید حذف شود ممکن است با دستور انتخاب نشود. استفاده کنید):

DELETE DATABASE database_name;

همین عمل را می توان با استفاده از ابزار MySQL mysqladmin انجام داد که قبلاً در ابتدای مقاله هنگام ایجاد پایگاه داده به آن اشاره کردم:

Mysqladmin drop database_name;

هنگامی که فرمان را فرا می خوانید، پیام زیر در کنسول سرور ظاهر می شود:

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

آیا واقعاً می‌خواهید پایگاه داده «پایگاه_نام» را حذف کنید؟

به طور خلاصه، این یک هشدار است که حذف پایگاه داده MySQL ایده بسیار بدی است. تایید اقدام نیز درخواست می شود. اگر موافقید بنویسید yو فشار دهید واردروی صفحه کلید، پس از آن پیام زیر روی صفحه نمایش داده می شود (البته اگر همه چیز خوب پیش رفت):

پایگاه داده "database_name" حذف شد

خودشه :)

چگونه یک کاربر MySQL را در کنسول حذف کنیم

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

از MySQL 5.7، یک دستور برای هر دوی این اقدامات وجود دارد:

نام کاربری اگر وجود دارد حذف کنید.

نسخه های قبلی MySQL به دو دستور جداگانه نیاز داشتند:

اعطای استفاده از *.* به "user_name"@"host_or_IP_address"; حذف کاربر "user_name"@"host_or_IP_address"؛

متأسفانه در این حالت پیام مربوط به اجرای عملیات در کنسول MySQL به طور سنتی غیر اطلاع رسانی است 🙁 بنابراین برای اینکه متوجه شوید کاربر MySQL حذف شده است می توانید از دستور زیر استفاده کنید که لیستی از همه کاربران را نمایش می دهد. موجود در سرور MySQL فعلی:

کاربر را از mysql.user انتخاب کنید.

این گزینه دستوری فقط نام های کاربری را نمایش می دهد. در صورت نیاز به مشاهده هاست هایی که کاربران می توانند از طریق آنها به سرور متصل شوند و لیست امتیازات، می توانید دستور را به شکل زیر فراخوانی کنید:

کاربر، میزبان، Grant_priv FROM mysql.user را انتخاب کنید.

همچنین در جدول mysql.user بسیاری از فیلدهای دیگر وجود دارد که انواع دیگر امتیازات و اطلاعات دیگر را ذخیره می کند که لیست کامل آنها را می توانید در اینجا بیابید - https://mariadb.com/kb/en/library/mysqluser- جدول/

گیج نشوید که این مستندات مربوط به MariaDB DBMS است. از نظر فنی این همان MySQL است، زیرا ... MariaDB فقط شاخه یا چنگال آن از "fork" انگلیسی است - شاخه، چنگال.

چرا این کار انجام شد - باز هم نمی دانم 🙂 شاید با افتخار به همه اعلام کنم که "من DBMS خودم را دارم"؟.. اما، صادقانه بگویم، من از انگیزه ها و تفاوت های دقیق بین MySQL و MySQL آگاه نیستم. MariaDB. بنابراین، اگر چیزی در این مورد می دانید، جالب است که در نظرات در مورد آن بخوانید.

خروج از کنسول MySQL

این همه است، چرخه زندگی پایگاه داده و کاربر که با ایجاد آنها شروع شد و با حذف آنها به پایان رسید، به پایان رسیده است. بنابراین، خط فرمان MySQL، که ما با استفاده از ابزار در کنسول سرور با آن کار کردیم mysql، ما دیگر به آن نیاز نداریم.

تنها چیزی که باقی می ماند این است که از آن خلاص شوید ...

به نظر می رسد که این عمل بی اهمیت است، اما بسیاری در شرایطی که نیاز به خروج از خط فرمان MySQL دارند، به سادگی کنسول سرور را می بندند و دوباره آن را باز می کنند. مطمئناً می‌توانید این‌گونه عمل کنید، اما ثانیه‌های بیشتری از زمان کار را می‌گیرد و هر بار که نیاز به انجام آن دارید، شما را عصبانی می‌کند.

رفتار صحیح در این شرایط فقط فراخوانی فرمان خواهد بود خروجدر خط فرمان MySQL، پس از آن سرویس مودبانه با ما خداحافظی می کند :)

و این همه است 🙂 بنابراین دفعه بعد دیگر نیازی به ایجاد چندین کنسول و باز کردن مجدد آنها هر بار که نیاز به خروج از MySQL در کنسول دارید و برای مدیریت سرور دوباره به آن دسترسی دارید، ندارید.

این تمام چیزی است که امروز می خواستم به شما بگویم. امیدوارم که برگه تقلب من برای کار با خط فرمان MySQL از طریق کنسول نه تنها برای من، بلکه برای شما نیز مفید باشد.

در مورد کاربرد عملی اطلاعات ارائه شده در مقاله، می خواهم به شما یادآوری کنم که ساختارهای فوق را می توان نه تنها در خط فرمان MySQL و کنسول سرور، بلکه در کنسول phpMyAdmin و سایر نرم افزارهای ارائه دهنده استفاده کرد. چنین فرصتی

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

در نظرات بنویسید که از کدام دستورها بیشتر استفاده می کنید. یا شاید ترفندهای دیگری را بلد باشید. در هر صورت نظر خود را با دیگران به اشتراک بگذارید و گفتگو را در نظرات سایر کاربران ادامه دهید.

من قول می دهم که در این روند چیزهای جدید زیادی یاد خواهید گرفت، درست مانند من هنگام نوشتن هر یک از مقاله هایم :)

همین! موفق باشی و دوباره ببینمت :)

P.S.: اگر به یک وب سایت نیاز دارید یا نیاز به ایجاد تغییرات در یک موجود دارید، اما زمان یا تمایلی برای این کار وجود ندارد، می توانم خدمات خود را ارائه دهم.

بیش از 5 سال تجربهتوسعه وب سایت حرفه ای کار با PHP, OpenCart, وردپرس, لاراول, یییی, MySQL, PostgreSQL, جاوا اسکریپت, واکنش نشان دهید, زاویه ایو سایر فناوری های توسعه وب

در زیر لیستی از کاربردی ترین و پرکاربردترین دستورات آمده است MySQLبا مثال

mysql در ابتدای خط به این معنی است که دستور پس از ورود به سیستم اجرا می شود MySQL.

علامت # یا $ در ابتدای خط به این معنی است که دستور از خط فرمان اجرا می شود.

برای بررسی وضعیت سرور MYSQLانجام دادن:

برای FreeBSD:

# وضعیت سرویس mysql-server

V CentOS/RHEL:

وضعیت # سرویس mysqld

MySQLاز کنسول اگر سرور MySQLدر همان میزبان است:

برای اتصال به سرور MySQLاز کنسول اگر سرور MySQLدر میزبان راه دور db1.example.com قرار دارد:

$ mysql -u نام کاربری -p -h db1.example.com

کار با پایگاه های داده و جداول - مشاهده، حذف، ویرایش سوابق. کنسول

ایجاد یک پایگاه داده در MySQLسرور:

Mysql ایجاد پایگاه داده

نمایش لیستی از تمام پایگاه های داده روی سرور MySQL:

استفاده از mysql؛

نمایش تمام جداول در پایگاه داده:

نمایش جداول Mysql.

مشاهده فرمت جدول در پایگاه داده:

mysql توصیف کنید.

حذف پایگاه داده:

Mysql drop database ;

حذف جدول از پایگاه داده:

جدول دراپ Mysql ;

نمایش تمام محتویات جدول:

Mysql SELECT * FROM ;

نمایش ستون ها و محتویات ستون ها در جدول انتخاب شده:

Mysql ستون هایی از ;

نمایش سطرها در یک جدول خاص حاوی "هرچه باشد":

Mysql SELECT * FROM WHERE = "whatever";

نمایش تمام رکوردها در یک جدول خاص حاوی "Bob" و شماره تلفن "3444444:

Mysql SELECT * FROM WHERE name = "Bob" AND phone_number = "3444444";

نمایش همه ورودی ها، نهحاوی نام "باب" و شماره تلفن "3444444"، مرتب شده بر اساس فیلد شماره_تلفن:

Mysql SELECT * FROM WHERE name != " Bob " AND phone_number = " 3444444 " order by phone_number;

تمام ورودی هایی که با حروف "bob" و شماره تلفن "3444444" شروع می شوند را در یک جدول خاص نشان دهید:

Mysql SELECT * FROM WHERE نامی مانند "Bob %" و phone_number = "3444444";

نمایش تمام ورودی‌هایی که با حروف «باب» و شماره تلفن «3444444» شروع می‌شوند، ورودی‌های 1 تا 5 را محدود می‌کند:

Mysql SELECT * FROM WHERE نامی مانند "Bob %" و phone_number = "3444444" limit 1.5;

استفاده از عبارات منظم ("REGEXP BINARY") برای جستجوی رکوردها. به عنوان مثال، برای جستجوی بدون حروف بزرگ، تمام رکوردهایی که با حرف A شروع می شوند را پیدا کنید:

Mysql SELECT * FROM WHERE rec RLIKE "^a";

نمایش تمام ورودی های منحصر به فرد:

Mysql SELECT DISTINCT FROM ; mysql SELECT , FROM ORDER BY DESC;

نمایش تعداد ردیف های جدول:

Mysql SELECT COUNT(*) FROM ;

Mysql SELECT SUM(*) FROM ;

حذف یک ستون:

Mysql alter table drop ستون ;

اضافه کردن یک ستون به پایگاه داده:

Mysql alter table add column varchar(20);

تغییر نام ستون:

تغییر جدول Mysql varchar(50);

یک ستون با نام منحصر به فرد ایجاد کنید تا از نام های تکراری جلوگیری کنید:

Mysql alter table add unique();

تغییر اندازه ستون:

Mysql alter table modify VARCHAR(3);

حذف یک ستون از جدول:

Mysql alter table drop index ;

Mysql LOAD DATA INFILE " /tmp/filename.csv " جایگزین به فیلدهای جدول خاتمه یافته با "," خطوط پایان یافته با "n" (field1,field2,field3);

کاربران سرور MySQL، رمزهای عبور - افزودن، تغییر کاربران و رمزهای عبور. کنسول

ایجاد یک کاربر جدید - اتصال به سرور MySQLبه عنوان root، تغییر به پایگاه داده، اضافه کردن کاربر، به روز رسانی امتیازات:

# mysql -u root -p mysql از mysql استفاده کنید. mysql INSERT INTO user (Host,User,Password) VALUES("%"," username ", PASSWORD("password")); امتیازات flush mysql.

تغییر رمز عبور کاربر از کنسول موجود در میزبان راه دور db1.example.org:

# mysqladmin -u نام کاربری -h db1.example.org -p رمز عبور "new-password"

تغییر رمز عبور کاربر از کنسول MySQL- اتصال به عنوان root، به روز رسانی رمز عبور، به روز رسانی امتیازات:

# mysql -u root -p mysql SET PASSWORD FOR " user "@" hostname " = PASSWORD(" passwordhere "); امتیازات flush mysql.

بازیابی/تغییر رمز عبور سرور ریشه MySQL- متوقف کردن MySQL، بدون جداول امتیاز شروع کنید، به عنوان root متصل شوید، رمز عبور جدید تنظیم کنید، خارج شوید و راه اندازی مجدد کنید MySQL.

# /etc/init.d/mysql stop # mysqld_safe -skip-grant-tables & # mysql -u root mysql use mysql; mysql update user set password=PASSWORD(" newrootpassword ") where User="root"; mysql ; امتیازات flush; خروج mysql # /etc/init.d/mysql stop # /etc/init.d/mysql start

در صورت وجود رمز عبور root یک رمز عبور root تعیین کنید.

# mysqladmin -u root password newpassword

به روز رسانی رمز عبور ریشه:

# mysqladmin -u root -p oldpassword newpassword

تنظیم حق اتصال به سرور از لوکال هاست میزبان با رمز عبور "passwd" - اتصال به ساب روت، جابجایی به پایگاه داده، تنظیم امتیازات، به روز رسانی امتیازات:

# mysql -u root -p mysql از mysql استفاده کنید. استفاده از mysql در *.* به bob @localhost شناسایی شده توسط "paswd"; امتیازات flush mysql.

تنظیم امتیازات کاربر برای استفاده از پایگاه داده - اتصال به عنوان ریشه، جابجایی به پایگاه داده، تنظیم امتیازات، به روز رسانی امتیازات:

# mysql -u root -p mysql از mysql استفاده کنید. mysql INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ("%"،"نام پایگاه داده"،"نام کاربری"،"Y"،"Y"،"Y"،" Y، "Y"، "N")؛ امتیازات flush mysql.

Mysql تمام امتیازات نام پایگاه داده .* را به نام کاربری @localhost اعطا می کند. امتیازات flush mysql.

به روز رسانی اطلاعات در پایگاه داده:

Mysql UPDATE SET Select_priv = "Y",Insert_priv = "Y",Update_priv = "Y" Where = کاربر";

حذف یک ردیف در جدول:

Mysql DELETE from where = "whatever";

به روز رسانی امتیازات در پایگاه داده:

امتیازات Mysql flush;

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

یک نسخه پشتیبان (dump) از تمام پایگاه های داده در فایل alldatabases.sql ایجاد کنید:

# mysqldump -u root -p password -opt ; /tmp/alldatabase.sql

از یک پایگاه داده در فایل databasename.sql نسخه پشتیبان تهیه کنید:

# mysql dump -u username -p password - databases databasename ; /tmp/databasename.sql

از یک جدول در فایل databasename.tablename.sql بک آپ بگیرید:

# mysql dump -c -u username -p password name databasename table ; /tmp/databasename.tablename.sql

بازیابی پایگاه داده (یا جدول) از یک نسخه پشتیبان:

# mysql -u username -p پسورد نام پایگاه داده< /tmp/databasename.sql

ایجاد جداول پایگاه داده کنسول

نام ستون ها با حروف کوچک نشان داده شده است.
حروف بزرگ - انواع و ویژگی های ستون ها.
در (پرانتز) - مقدار نوع ستون.

یک جدول ایجاد کنید، مثال 1:

mysql CREATE TABLE (نام اصلی VARCHAR(20)، اولیه VARCHAR(3)، نام خانوادگی VARCHAR(35)، پسوند VARCHAR(3)، officeid VARCHAR(10)، userid VARCHAR(15)، نام کاربری VARCHAR(8)، ایمیل VARCHAR(35) ، تلفن VARCHAR(25)، گروه VARCHAR(15)، مهر تاریخ DATE، مهر زمان TIME، pgpemail VARCHAR(255));

یک جدول ایجاد کنید، مثال 2:

Mysql ایجاد جدول (personid INT(50) NOT NULL AUTO_INTCREMENT PRIMARY KEY، نام VARCHAR(35)، نام میانی VARCHAR(50)، نام خانوادگی VARCHAR(50) پیش فرض "bato");

ابزار خط فرمان mysql یک پوسته ساده SQL (با قابلیت های کتابخانه Readline پروژه گنو) است. از حالت های تعاملی و غیر تعاملی پشتیبانی می کند. در حالت تعاملی، نتایج پرس و جو در قالب ASCII ارائه می شود. هنگامی که در حالت غیر تعاملی استفاده می شود (به عنوان مثال، به عنوان یک فیلتر)، نتیجه در قالب متن جدا شده با برگه ارائه می شود (قالب خروجی را می توان با استفاده از گزینه های خط فرمان تغییر داد). اسکریپت ها را می توان مطابق شکل زیر اجرا کرد:

Shell> output.tab پایگاه داده mysql

اگر مشکلی به دلیل حافظه ناکافی در یک کلاینت خاص رخ داد، از گزینه --quick استفاده کنید! این کار mysql را مجبور می‌کند تا از تابع mysql_use_result() به جای تابع mysql_store_result() برای به دست آوردن انتخاب داده‌های حاصل استفاده کند.

استفاده از mysql بسیار آسان است. پایگاه داده mysql یا mysql --user=user_name --password=your_password پایگاه داده را اجرا کنید. دستور SQL را مستقیماً در خط فرمان تایپ کنید و آن را با یکی از کاراکترهای زیر به پایان برسانید: `;" ، `\g" یا `\G" و کلید "Enter" را فشار دهید.

ابزار خط فرمان mysql از گزینه های زیر پشتیبانی می کند:

Help اطلاعات راهنمای استفاده از برنامه را نمایش می دهد و از آن خارج می شود. -A، --no-auto-rehash تکرار خودکار را غیرفعال می کند. برای بدست آوردن هش جداول و فیلدها باید از rehash استفاده کرد. این باعث می شود که mysql سریعتر شروع شود. --prompt=... یک اعلان برای وارد کردن دستورات در فرمت مشخص شده تنظیم می کند. -b، --no-beep بوق خطا را خاموش می کند. -B، - Batch خروجی در حالت دسته ای جدا شده با زبانه، هر خط در یک خط جدید، نتیجه می گیرد. از فایل تاریخچه استفاده نمی شود. --character-sets-dir=... فهرستی که مجموعه کاراکترها در آن قرار دارند. -C، --compress از فشرده سازی داده ها در پروتکل سرور/مشتری استفاده کنید. -#، --debug[=...] گزارش اشکال زدایی. مقدار پیش فرض "d:t:o,/tmp/mysql.trace" است. -D, --database=... نام پایگاه داده مورد استفاده. بیشتر در فایل پیکربندی "my.cnf" استفاده می شود. --default-character-set=... مجموعه کاراکترهای پیش فرض را تنظیم کنید. -e, --execute=... دستور را اجرا کرده و از برنامه خارج شوید (نتیجه را خروجی کنید همانطور که برای -E، --عمودی نتایج پرس و جو (رشته) را به صورت عمودی چاپ کنید. خطای SQL -g، --no-named-commands، دستورات نامگذاری شده را غیرفعال می کند، یا از دستورات نامگذاری شده فقط در ابتدای خطی که با کاراکتر «;» ختم می شود، استفاده کنید. . از نسخه 10.9 مشتری با این گزینه شروع می کند، مشمول پیش فرض! با این حال، با گزینه -g، دستورات طولانی هنوز از خط اول کار می کنند. -G، --enable-named-commands دستورات با نام را فعال می کند. دستورات طولانی و همچنین دستورات کوتاه شده مانند \* مجاز هستند. -i، -ignore-space فاصله بعد از نام توابع را نادیده بگیرید. -h، --host=... به پایگاه داده روی هاست مشخص شده متصل شوید. -H، --html خروجی چاپ به صورت HTML. -L، --skip-line-numbers رد شدن از شماره خط برای خطا. برای مقایسه فایل های نتیجه که حاوی پیام های خطا هستند مفید است. --no-pager پیجر (پیجر) را غیرفعال می کند و نتیجه را در stdout (در یونیکس) می نویسد. دستور \h (راهنمای آنلاین) را نیز ببینید. --no-tee فایل خروجی را قفل می کند. دستور \h (راهنمای آنلاین) را نیز ببینید. -n، --unbuffered پس از هر درخواست بافر را پاک کنید. -N، --skip-column-names رد شدن از نام ستون ها در نتایج. -O, --set-variable var=option مقدار یک متغیر را تنظیم کنید. لیست متغیرهای استفاده شده از طریق --help نمایش داده می شود. -o، --one-database فقط پایگاه داده پیش فرض را به روز کنید. به شما امکان می‌دهد به‌روزرسانی‌های پایگاه داده دیگری را در گزارش به‌روزرسانی رد کنید. --pager[=...] نوع داده خروجی را تنظیم می کند. به طور پیش فرض این متغیر محیطی PAGER است. مقادیر احتمالی آن کمتر، بیشتر، cat [> نام فایل] و غیره است. دستور \h (راهنمای آنلاین) را نیز ببینید. این گزینه در حالت دسته ای کار نمی کند. پیجر فقط تحت یونیکس کار می کند. -p، --password[=...] رمز عبوری که هنگام اتصال به سرور پایگاه داده استفاده می شود. اگر رمز عبوری در خط فرمان مشخص نشده باشد، از کاربر درخواست می شود. هنگام استفاده از فرم کوتاه -p، بین پارامتر و مقدار رمز عبور فاصله نگذارید. -P --port=... شماره پورت TCP/IP برای اتصال استفاده می شود. -q، --quick نتایج را در حافظه پنهان نکنید. خط به خط آن را همانطور که از سرور می آید چاپ کنید. اگر خروجی متوقف شود، ممکن است سرعت سرور را کاهش دهد. از فایل تاریخچه استفاده نمی شود. -r، --raw نمایش مقادیر ستون بدون هیچ گونه تبدیل. با ---batch استفاده می شود. -s، --silent حالت سکوت. نمایش فقط پیام های خطا -S --socket=... فایل سوکت مورد استفاده برای اتصال. -t --table خروجی نتیجه در قالب جدول. به طور پیش فرض برای حالت غیر دسته ای تنظیم کنید. -T, --debug-info هنگام خروج از برنامه برخی از اطلاعات اشکال زدایی را چاپ کنید. --tee=... چیزی را به فایل خروجی اضافه کنید. دستور \h (راهنمای آنلاین) را نیز ببینید. این گزینه در حالت دسته ای کار نمی کند. -u، --user=# نام کاربری MySQL اگر این کاربر در آن زمان فعال نباشد. -U، --safe-updates[=#]، --i-am-a-dummy[=#] با استفاده از کلیدها فقط عملیات UPDATE و DELETE را می دهد. اطلاعات بیشتر در مورد این گزینه در زیر ارائه شده است. می‌توانید این پارامتر را با تنظیم مقدار آرگومان --safe-updates=0 در فایل پیکربندی «my.cnf» بازنشانی کنید، حالت خروجی پیشرفته‌تر --verbose (-v -v -v فرمت خروجی جدول را نشان می‌دهد). -V , --نسخه نمایش اطلاعات نسخه و خروج از برنامه -w, --wait اگر اتصال به سرور ناموفق بود، صبر کنید و سعی کنید آن را بازیابی کنید.

متغیرهای زیر را نیز می توان از طریق گزینه های خط فرمان -O یا --set-variable تنظیم کرد:

اگر help را در خط فرمان تایپ کنید، mysql دستوراتی را که پشتیبانی می کند فهرست می کند:

Mysql> help دستورات MySQL help (\h) متن داده شده را چاپ می کند. ? (\h) مترادف کمک. پاک کردن (\c) دستور پاک کردن. اتصال (\r) دوباره به سرور وصل شوید. آرگومان های اضافی db و host هستند. ویرایش (\e) دستور فعلی را با استفاده از $EDITOR ویرایش کنید. ego (\G) دستور MySQL فعلی را به سرور ارسال کنید و نتیجه را به صورت عمودی نمایش دهید. خروج (\q) از برنامه خارج شوید. مثل ترک کردن go (\g) دستور MySQL فعلی را به سرور ارسال کنید. nopager (\n) مسدود کردن پیجر، خروجی از طریق stdout. توجه داشته باشید (\t) ورودی ها را به فایل خروجی فایل اضافه نکنید. پیجر (\P) تنظیم PAGER . نمایش نتایج پرس و جو از طریق PAGER. print (\p) دستور فعلی را چاپ کنید. prompt (\R) فرمت prompt را برای وارد کردن دستورات mysql تغییر دهید. quit (\q) از برنامه خارج شوید. rehash (\#) بازیابی جدول هش. منبع (\.) یک فایل را با یک اسکریپت SQL اجرا کنید. نام فایل را به عنوان آرگومان ارائه دهید. وضعیت (\s) اطلاعاتی در مورد وضعیت سرور دریافت کنید. سه راهی (\T) پارامتر outfile را تنظیم کنید. چیزی را به فایل خروجی داده شده اضافه کنید. استفاده از (\u) از پایگاه داده دیگری استفاده کنید. نام پایگاه داده را به عنوان آرگومان ارائه کنید.

دستور پیجر فقط روی یونیکس کار می کند.

نتیجه این امر به شرح زیر است:

  • اجرای دستورات UPDATE یا DELETE مجاز نیست مگر اینکه محدودیت های کلیدی در عبارت WHERE مشخص شده باشد. با این حال، می توانید دستورات UPDATE / DELETE را با استفاده از عبارت LIMIT اجرا کنید: UPDATE table_name SET not_key_column=# WHERE not_key_column=# LIMIT 1;
  • هر نتیجه ای که خیلی بزرگ باشد توسط خطوط #انتخاب_محدودیت# محدود می شود.
  • انتخاب‌هایی که ممکن است برای اجرا به ترکیب‌های ردیفی بیش از #max_join_size# نیاز داشته باشند، لغو خواهند شد.

چند نکته مفید برای استفاده از مشتری mysql:

برخی از داده‌ها زمانی که به‌جای پنجره خروجی افقی که معمولاً استفاده می‌شود، به‌صورت عمودی نمایش داده شوند، خواناتر هستند. به عنوان مثال، متنی که طولانی تر از عرض آن است و حاوی خطوط جدید زیادی است، اغلب در نمای عمودی خواندن بسیار آسان تر است.

Mysql> SELECT * FROM mails WHERE LENGTH(txt) sbj: UTF-8 txt: >>>>> "Thimble" == Thimble Smith می نویسد: Thimble> سلام. بنظرم فکر خوبی است. آیا کسی با UTF-8 Thimble> یا Unicode آشنایی دارد؟ در غیر این صورت، این را در لیست TODO خود قرار می دهم و ببینم Thimble> چه اتفاقی می افتد. بله، لطفاً این کار را انجام دهید. با احترام، فایل مونتی: inbox-jani-1 هش: 190402944 1 ردیف در مجموعه (0.09 ثانیه)

  • برای ورود می توانید از گزینه های فرمان tee استفاده کنید. می توان آن را با استفاده از گزینه --tee=... برای mysql یا به صورت تعاملی از خط فرمان با وارد کردن دستور tee شروع کرد. تمام داده های ارائه شده روی صفحه نیز به فایل مشخص شده اضافه می شود. این می تواند برای اهداف اشکال زدایی برنامه بسیار مفید باشد. ابزار tee را می توان از خط فرمان با دستور note غیرفعال کرد. اجرای مجدد دستور tee، ثبت مجدد را فعال می کند. اگر پارامتر دستور tee مشخص نشده باشد، از فایل قبلی استفاده می شود. توجه داشته باشید که دستور tee نتایج را پس از اجرای هر دستور، درست قبل از ظاهر شدن خط فرمان برای وارد کردن دستور بعدی، در یک فایل می‌نویسد.
  • با استفاده از گزینه --pager[=...]، مشاهده یا جستجوی نتایج به صورت تعاملی با استفاده از برنامه های یونیکس کمتر، بیشتر یا سایر موارد مشابه امکان پذیر شد. اگر به صراحت یک آرگومان را در این پارامتر مشخص نکنید، کلاینت mysql به دنبال متغیر محیطی PAGER می گردد و مقدار آن را روی پیجر تنظیم می کند. برنامه پیجر همچنین می تواند از خط فرمان تعاملی با دستور پیجر شروع شود و با دستور nopager متوقف شود. دستور می تواند یک آرگومان بگیرد که اختیاری است. پیجر بر روی مقدار این آرگومان تنظیم می شود. دستور پیجر فقط در یونیکس کار می کند زیرا از تابع ()popen استفاده می کند که در ویندوز موجود نیست. در ویندوز، می توانید به جای آن از پارامتر tee استفاده کنید، اگرچه در برخی شرایط این کار کمتر از استفاده از دستور پیجر است.
  • چند نکته در مورد دستور پیجر: می توان از آن برای نوشتن در فایل استفاده کرد: mysql> pager cat > /tmp/log.txt و نتایج فقط به فایل ارسال می شود. برنامه هایی که با دستور پیجر فراخوانی می شوند می توانند هر گزینه معتبری را بپذیرند: mysql> pager less -n -i -S به گزینه -S در مثال بالا توجه ویژه ای داشته باشید. هنگام مشاهده نتایج می تواند بسیار مفید باشد. سعی کنید از آن با خروجی افقی (پایان دادن دستورات با "\g"، یا ";") و با خروجی عمودی (دستورات پایان با "\G") استفاده کنید. نتایج خروجی بسیار حجیم گاهی اوقات از روی صفحه نمایش دشوار است، در این مورد دستور کمتر با گزینه -S به شما امکان می دهد نتایج را به صورت تعاملی از چپ به راست مشاهده کنید، و زمانی که خطوطی با طول بیشتر از عرض ظاهر می شوند. صفحه نمایش، خروجی آنها همچنان از یک خط جدید خروجی می شود. خروجی داده در چنین مواردی خواناتر است. هنگامی که به صورت تعاملی دستور less را با گزینه "-S" فراخوانی می کنید، می توانید حالت عملکرد آن را (روشن/خاموش) از خط فرمان تغییر دهید. برای اطلاعات بیشتر در مورد کمتر، به توضیحات دستور "h" مراجعه کنید.
  • در پایان، ما متذکر می شویم (اگر قبلاً این را از نمونه های قبلی درک نکرده اید) که امکان ترکیب روش های بسیار پیچیده پردازش نتایج وجود دارد. بنابراین، در مثال زیر، نتایج به دو دایرکتوری مختلف که بر روی دو هارد دیسک مختلف در /dr1 و /dr2 نصب شده اند فرستاده می شود و با این حال نتایج را می توان با استفاده از دستور less بر روی صفحه نمایش مشاهده کرد: mysql> pager cat | tee /dr1/tmp/res.txt | \ tee /dr2/tmp/res2.txt | کمتر -n -i -S
  • توابع بالا را نیز می توان با هم ترکیب کرد: با اجرای tee و تنظیم پیجر بر روی کمتر، می توانید نتایج را با استفاده از دستور Unix less مشاهده کرده و در عین حال در یک فایل بنویسید. تفاوت بین سه راهی یونیکس مورد استفاده در برنامه پیجر و دستور tee داخلی در سرویس گیرنده mysql این است که دستور tee داخلی حتی اگر ابزار سه در یونیکس در دسترس نباشد، کار می کند. دستور tee داخلی هر چیزی را که روی صفحه نمایش داده می شود را نیز ضبط می کند، در حالی که ابزار یونیکس tee مورد استفاده با پیجر این کار را به میزان کافی انجام نمی دهد. نکته آخر اما مهم این است که اگر گاهی اوقات لازم است هنگام نوشتن روی یک فایل، این ویژگی را غیرفعال کنید، دستور tee تعاملی برای روشن/خاموش کردن حالت راحت تر است.

می توانید فرمت prompt را در خط فرمان مشتری mysql تغییر دهید.

گزینه های دعوت زیر امکان پذیر است:

گزینه شرح
\ vنسخه mysqld
\dنام پایگاه داده استفاده شده
\ ساعتنام میزبان برای اتصال
شماره پورتی که از طریق آن اتصال برقرار می شود
\uنام کاربری
\Uآدرس کامل username@host
\\ اسلش "\"
\nشخصیت خط جدید
\ tجدول بندی
\ فضا
\_ فضای با خط زیر
\ Rمنطقه زمانی نظامی (0-23)
\rزمان بر اساس منطقه زمانی استاندارد (1-12)
\mدقایق
\yدسته های دو ساله
\Yدسته های چهار ساله
\ Dفرمت تاریخ کامل
\sثانیه
\wروز هفته در قالب سه حرفی (دوشنبه، سه شنبه، ...)
زمان قبل از ظهر / بعد از ظهر (صبح / بعد از ظهر)
\oماه در قالب عددی
\Oماه در قالب سه حرفی (ژان، فوریه، ...)
\ جشمارنده ای که تعداد دستورات وارد شده را می شمارد

کاراکتر "\" به دنبال هر حرف دیگری به سادگی آن حرف را تکمیل می کند.

می توانید گزینه های دعوت را به روش های زیر تنظیم کنید:

در متغیرهای محیطیمی توانید متغیر محیطی MYSQL_PS1 را برای رشته درخواست تنظیم کنید. برای مثال: shell> export MYSQL_PS1="(\u@\h) [\d]>" "my.cnf" ".my.cnf"می توانید گزینه prompt را در هر فایل پیکربندی MySQL در گروه mysql تنظیم کنید. به عنوان مثال: prompt=(\u@\h) [\d]>\_ در خط فرمانمی توانید گزینه --prompt را از خط فرمان mysql تنظیم کنید. به عنوان مثال: shell> mysql --prompt="(\u@\h) [\d]> " (user@host) > به صورت تعاملیهمچنین می توانید از دستور prompt (یا \R) برای تغییر تنظیمات اعلان به صورت تعاملی استفاده کنید. برای مثال: mysql> prompt (\u@\h) [\d]>\_ PROMPT روی "(\u@\h) [\d]>\_" (user@host) > (user@host) تنظیم شد. > prompt بازگشت به تنظیمات PROMPT اصلی (پیش‌فرض) در ابزار mysql> mysql>