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

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

شما می توانید به صورت دستی سرور MySQL را به یکی از دو روش راه اندازی کنید:

روی فایل mysqld-nt.exe واقع در زیر شاخه bin دایرکتوری که MySQL در آن نصب شده است، دوبار کلیک کنید.

یک پنجره Command Prompt ویندوز را باز کنید. برای این کار روی دکمه Start کلیک کنید، از منو Run را انتخاب کنید، در پنجره Run a program ظاهر شده، در قسمت Open دستور cmd را وارد کرده و OK کنید. یک پنجره خط فرمان روی صفحه ظاهر می شود (شکل 1.25).

برنج. 1.25.پنجره خط فرمان


در خط فرمان، دستور را وارد کنید

mysqld-nt

و Enter را فشار دهید. سرور MySQL شروع به کار خواهد کرد.

اگر هنگام راه اندازی سرور، مسیر زیر شاخه bin به مقدار متغیر Path system اضافه نشده است، برای راه اندازی سرور باید نه تنها نام فایل، بلکه مسیر کامل آن را نیز وارد کنید. :

C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt

اگر می خواهید پیام های تشخیصی مربوط به سرور را در پنجره خط فرمان مشاهده کنید، به جای mysqld-nt، آن را وارد کنید.

mysqld-nt – کنسول

توجه!

اگر هنگام راه‌اندازی سرور MySQL رمز عبور کاربر root را تعیین نکرده‌اید، باید در اولین باری که سرور را راه‌اندازی می‌کنید یک رمز عبور تعیین کنید (در غیر این صورت هر کسی می‌تواند سرور را به‌عنوان روت بدون رمز عبور مدیریت کند).

برای تنظیم رمز عبور root، یک پنجره Command Prompt جدید باز کنید و دستور زیر را وارد کنید:

رمز عبور ریشه mysqladmin -u<пароль>

(یا C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root root<пароль>، اگر مسیر زیر شاخه bin به متغیر Path system هنگام راه اندازی سرور اضافه نشده بود) و Enter را فشار دهید.

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

رمز عبور mysqladmin -u root -p<новый пароль>

هنگامی که اعلان Enter Password ظاهر شد، رمز عبور قدیمی خود را وارد کرده و Enter را فشار دهید.

در نهایت، اگر نیاز به توقف سرور MySQL دارید، دستور را اجرا کنید

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

و در اعلان Enter password رمز عبور کاربر root را وارد کنید. Enter را فشار دهید. سرور MySQL متوقف خواهد شد.

همچنین می توانید از ابزار گرافیکی MySQL Administrator برای راه اندازی و توقف سرور MySQL استفاده کنید.

راه اندازی و توقف سرور MySQL با استفاده از MySQL Administrator

برای راه اندازی سرور MySQL با استفاده از ابزار گرافیکی MySQL Administrator، این مراحل را دنبال کنید.

1. برنامه MySQL Administrator را اجرا کنید (Start → All Programs → MySQL → MySQL Administrator). یک پنجره اتصال سرور روی صفحه ظاهر می شود (شکل 1.26).

برنج. 1.26.


2. کلید Ctrl را فشار داده و نگه دارید و به جای دکمه Cancel روی دکمه Skip که در گوشه سمت راست پایین پنجره ظاهر می شود کلیک کنید. پنجره اصلی MySQL Administrator روی صفحه ظاهر می شود (شکل 1.27).

برنج. 1.27.پنجره اصلی MySQL Administrator


4. اگر سرور MySQL به عنوان یک سرویس ویندوز پیکربندی نشده باشد، دکمه Start Service واقع در سمت راست پنجره خاکستری می شود. اقدامات اولیه زیر باید انجام شود:

1) به تب Configure Service بروید. دکمه Install new Service را در پایین تب پیدا کنید و روی آن کلیک کنید.

2) در کادر محاوره ای که ظاهر می شود، نام سرویس را مشخص کرده و روی OK کلیک کنید.

3) در قسمت Config Filename، مسیر فایل پیکربندی my.ini را وارد کنید (شکل 1.28)، به عنوان مثال C:\Program Files\MySQL\MySQL Server 5.0\my.ini. رنگ فونت قرمز به این معنی است که فایل پیدا نشد. اگر رنگ به حالت عادی تغییر کند، مسیر صحیح است.

4) در قسمت Path to binary، مسیر فایل mysqld-nt.exe را وارد کنید، به عنوان مثال C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt;

6) به تب Start/Stop Service برگردید.

برنج. 1.28.پیکربندی برگه سرویس 5. روی دکمه Start Service کلیک کنید. سرور MySQL شروع به کار خواهد کرد.


توجه!

اگر هنگام راه‌اندازی سرور MySQL رمز عبور کاربر root را مشخص نکرده‌اید، باید در اولین باری که سرور را راه‌اندازی می‌کنید، آن را تنظیم کنید (در غیر این صورت هر کسی می‌تواند سرور را به عنوان root بدون رمز عبور مدیریت کند). در نسخه فعلی MySQL Administrator، تنظیم رمز عبور root در دسترس نیست و برای انجام این عملیات باید از ابزار خط فرمان mysqladmin استفاده کنید (به بخش "راه اندازی و توقف سرور MySQL از خط فرمان" مراجعه کنید).

برای متوقف کردن سرور MySQL با استفاده از MySQL Administrator، این مراحل را دنبال کنید.

1. برنامه MySQL Administrator را اجرا کنید (Start → All Programs → MySQL → MySQL Administrator). یک پنجره اتصال سرور روی صفحه ظاهر می شود (شکل 1.26 را ببینید).

میزبان سرور – مقدار محلی میزبان (کامپیوتر محلی)؛

پورت - شماره پورت انتخاب شده هنگام تنظیم سرور (پیش فرض - 3306)؛

نام کاربری - مقدار ریشه.

رمز عبور - رمز عبور کاربر ریشه. روی OK کلیک کنید.

3. در پنجره اصلی MySQL Administrator، در قسمت سمت چپ، روی Service Control کلیک کنید.

4. در سمت راست پنجره، روی دکمه Stop Service کلیک کنید. سرور MySQL متوقف خواهد شد.

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

راه اندازی و توقف سرور MySQL از کنترل پنل

اگر سرور MySQL به عنوان یک سرویس ویندوز با استفاده از جادوگر تنظیم پیکربندی شده است (به بخش «پیکربندی سرور MySQL» مراجعه کنید) یا با استفاده از ابزار MySQL Administrator (به بخش فرعی «راه اندازی و توقف سرور MySQL با استفاده از MySQL Administrator» مراجعه کنید)، سپس شروع و متوقف کنید. می توانید از مولفه Services در کنترل پنل استفاده کنید.

برای دسترسی به مولفه Services، روی دکمه Start کلیک کنید، از منو Control Panel را انتخاب کنید، سپس روی Administrative Tools در Control Panel دوبار کلیک کنید و در نهایت روی Services در پنجره Administrative Tools دوبار کلیک کنید. پنجره Services روی صفحه ظاهر می شود (شکل 1.29) با لیستی از تمام خدمات محلی.

برنج. 1.29.سرویس MySQL در کنترل پنل


در پنجره Services، روی نام سرویس MySQL کلیک کنید (این نام هنگام ایجاد سرویس در جادوگر پیکربندی یا در MySQL Administrator تعیین می شود). سپس روی لینک مورد نظر زیر نام سرویس کلیک کنید: Start Service، Stop Service یا Restart Service.

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

اتصال به سرور از خط فرمان

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

1. پنجره Command Prompt ویندوز را باز کنید. برای این کار روی دکمه Start کلیک کنید، از منو Run را انتخاب کنید، در پنجره Run a program ظاهر شده cmd را در قسمت Open وارد کنید و OK کنید.

2. در خط فرمان (به شکل 1.25 مراجعه کنید)، دستور را وارد کنید

mysql -h<Имя компьютера>-u<Имя пользователя>-پ

(جایی که<Имя компьютера>نام رایانه ای است که سرور روی آن کار می کند) و Enter را فشار دهید. هنگامی که از شما خواسته شد رمز عبور را وارد کنید، رمز عبور کاربر را وارد کنید.

اگر نیاز به اتصال به سرور MySQL دارید که روی همان رایانه اجرا می شود، نام رایانه (localhost) را می توان حذف کرد، برای مثال

mysql -u root -p

پس از اتصال به سرور، خط فرمان به mysql> تغییر می کند (شکل 1.30). اکنون می توانید کار با پایگاه داده را شروع کنید: جداول اضافه کنید، داده ها را وارد کنید و پرس و جو کنید، کاربران جدید را ثبت کنید و غیره.

برنج. 1.30.اتصال به سرور MySQL از خط فرمان


برای قطع ارتباط از سرور کافیست دستور را در خط فرمان تایپ کنید

و Enter را فشار دهید.

یک راه جایگزین برای اتصال به سرور MySQL توسط ابزار گرافیکی MySQL Query Browser ارائه شده است.

اتصال به سرور با استفاده از مرورگر MySQL Query

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

1. برنامه MySQL Query Browser را اجرا کنید (Start → All Programs → MySQL → MySQL Query Browser). یک پنجره اتصال سرور روی صفحه ظاهر می شود (شکل 1.31).

برنج. 1.31.پنجره اتصال به سرور MySQL


2. در قسمت های پنجره اتصال سرور، پارامترهای اتصال را وارد کنید:

Server Host – نام رایانه ای که سرور MySQL روی آن اجرا می شود.

پورت - شماره پورت انتخاب شده هنگام راه اندازی سرور (پیش فرض - 330 6).

نام کاربری – نام کاربری؛

رمز عبور - رمز عبور کاربر؛

طرحواره پیش فرض - نام پایگاه داده ای که با آن کار خواهید کرد (این می تواند یک پایگاه داده موجود یا جدید باشد).

3. روی OK کلیک کنید. اگر نامی برای پایگاه داده جدید وارد کرده اید، در کادر محاوره ای که ظاهر می شود، روی Yes کلیک کنید تا این پایگاه داده ایجاد شود.

پس از اتصال به سرور، پنجره اصلی MySQL Query Browser روی صفحه ظاهر می شود (شکل 1.32). در آن می توانید هر عملیاتی را با پایگاه داده انجام دهید: جداول اضافه کنید، داده ها را وارد کنید و پرس و جو کنید، کاربران جدید را ثبت کنید و غیره.

برنج. 1.32.پنجره اصلی مرورگر MySQL Query


توجه!

فونت پیش فرض مورد استفاده در مرورگر MySQL Query برای نمایش پرس و جوهای SQL از حروف روسی پشتیبانی نمی کند. برای وارد کردن حروف روسی در متون پرس و جو، باید فونت دیگری را انتخاب کنید (به عنوان مثال، Arial یا Book Antiqua). برای انجام این کار، در پنجره اصلی MySQL Query Browser، منوی Tools را باز کرده و گزینه Options را انتخاب کنید. در پنجره Options که ظاهر می شود، در قسمت سمت چپ گزینه General Options را کلیک کنید و در قسمت سمت راست در قسمت Code Font فونت مورد نظر را از لیست انتخاب کنید. روی دکمه Apply کلیک کنید.

برای قطع ارتباط از سرور، به سادگی پنجره MySQL Query Browser را ببندید.

این مقدمه ما را با MySQL به پایان می رساند و به جمع بندی نتایج می پردازیم.

1.6. خلاصه

این فصل DBMS MySQL و ابزارهای گرافیکی MySQL Administrator و MySQL Query Browser را بررسی می کند. شما بر روی یک روش نسبتاً پیچیده برای نصب و پیکربندی سرور MySQL تسلط یافته اید، نحوه مدیریت سرور و اتصال به آن را یاد گرفته اید. شما همچنین یاد گرفتید که چگونه یک پایگاه داده رابطه ای کار می کند و چگونه پایگاه داده خود را طراحی کنید.

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

فصل 2
مدیریت پایگاه داده با SQL

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

شما می توانید از هر یک از بسیاری از برنامه های کاربردی سرویس گیرنده MySQL برای اجرای دستورات SQL استفاده کنید. این فصل برنامه های شخص ثالث را پوشش نمی دهد. شما فقط با برنامه های ایجاد شده توسط MySQL AB آشنا خواهید شد: ابزار خط فرمان mysql و ابزار گرافیکی MySQL Query Browser.

تمام عملیات داده در هر دو ابزار در دسترس هستند. مرورگر MySQL Query برای کار با پایگاه داده راحت است: اجزای آن به وضوح ارائه شده است، می توانید مستقیماً داده ها را ویرایش کنید (بدون استفاده از اپراتور SQL UPDATE)، با پرس و جوها کار کنید، به عنوان مثال، آنها را با استفاده از یک ابزار خاص بسازید (و نیازی ندارید). برای وارد کردن نام جداول و ستون ها به صورت دستی)، پرس و جوها را در یک فایل ذخیره کنید، نتایج پرس و جو را صادر کنید و موارد دیگر. شما می توانید با مراجعه به مستندات به زبان روسی، که در http://dev.mysql.com/doc/query-browser/ru/index.html موجود است، در مورد تمام قابلیت های MySQL Query Browser اطلاعات کسب کنید.

ابتدا یاد خواهید گرفت که چگونه دستورات SQL را در مرورگر MySQL Query و خط فرمان اجرا کنید و سپس فقط دستورات SQL را پوشش خواهیم داد.

2.1. اجرای دستورات SQL

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

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

SET NAMES cp866;

نتیجه اجرای این دستور را در شکل مشاهده می کنید. 2.1.

برنج. 2.1.تنظیم رمزگذاری در خط فرمان


دستور SET NAMES باید زمانی تکرار شود هر کساتصال به سرور با استفاده از خط فرمان این دستور به سرور می گوید که این برنامه کلاینت (ابزار mysql) از رمزگذاری CP-866 استفاده می کند (این کدگذاری خط فرمان ویندوز است) و سرور به طور خودکار هنگام برقراری ارتباط با برنامه مشتری، تبدیل کدگذاری را انجام می دهد.

پس از تغییر کدگذاری، می توانید هر دستور SQL را در خط فرمان وارد کنید. پیامی در مورد نتیجه فرمان و همچنین داده های درخواستی مستقیماً در پنجره خط فرمان نمایش داده می شود (شکل 2.2).

برنج. 2.2.اجرای پرس و جوی SQL در خط فرمان


ابزار mysql به شما اجازه می دهد تا دستورات چند خطی را وارد کنید (در شکل 2.3 دستور SHOW DATABASES به این ترتیب وارد شده است). اگر نقطه ویرگول به عنوان علامت پایان دستور وارد نشده باشد، وقتی کلید Enter را فشار می دهید، برنامه کاربردی دستور را به سرور ارسال نمی کند، بلکه از شما می خواهد که دستور را ادامه دهید. اگر می خواهید یک فرمان چند خطی را لغو کنید، \c را تایپ کنید (شکل 2.3).

برنج. 2.3.دستور چند خطی


اگر از مرورگر MySQL Query استفاده می کنید، نیازی به تنظیم رمزگذاری ندارید - این برنامه در رمزگذاری UTF-8 کار می کند و خود این را به سرور گزارش می دهد. با این حال، در MySQL Query Browser با نمایش حروف روسی در ناحیه پرس و جو (ناحیه ای که متن دستورات SQL وارد شده است، شکل 2.4) مشکلی وجود دارد. برای حل این مشکل، باید فونت مورد استفاده در ناحیه پرس و جو را تغییر دهید (نحوه انجام این کار در پایان فصل قبل توضیح داده شد). فقط یک بار باید فونت را تغییر دهید.

برنج. 2.4.اجرای SQL Query در مرورگر MySQL Query


همانطور که در شکل نشان داده شده است، می توانید چندین دستور SQL را همزمان وارد کنید. 2.4. فرمان فعلی (مکان نما روی یکی از خطوط آن است) با پس زمینه سفید برجسته می شود، دستورات باقی مانده در پس زمینه خاکستری روشن نمایش داده می شوند. برای اجرای دستور فعلی، می‌توانید روی دکمه Execute واقع در سمت راست ناحیه فرمان یا کلید ترکیبی Ctrl+Enter کلیک کنید. پس از اجرای دستور، داده های درخواستی در قسمت نتایج نمایش داده می شود و پیامی در مورد نتیجه دستور در پایین این قسمت نمایش داده می شود.

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

2.2. ایجاد پایگاه داده

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

برای ایجاد پایگاه داده، دستور را اجرا کنید

ایجاد پایگاه داده<Имя базы данных>;

مثلا دستور

ایجاد پایگاه داده SalesDept.

یک پایگاه داده به نام SalesDept ایجاد می کند.

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

ایجاد پایگاه داده<Имя базы данных>

مجموعه کاراکتر<Имя кодировки>

جمع آوری<Имя правила сравнения>;

به عنوان مثال، اگر داده ها را به یک پایگاه داده جدید وارد کنید که در کدگذاری CP-1251 قرار دارد، در هنگام ایجاد پایگاه داده به این صورت این رمزگذاری را نشان خواهیم داد:

ایجاد پایگاه داده بخش فروش

مجموعه کاراکتر cp1251 COLLATE cp1251_general_ci;

مشاوره

برای مشاهده لیست کدهای مورد استفاده در MySQL، دستور SHOW CHARACTER SET را اجرا کنید. و برای مشاهده لیستی از قوانین مقایسه مقادیر نمادین، از دستور SHOW COLLATION; استفاده کنید. در این مورد، می توانید از عملگر LIKE استفاده کنید: به عنوان مثال، برای مشاهده تمام قوانین مقایسه برای رمزگذاری CP-1251، دستور SHOW COLLATION LIKE %1251%; را اجرا کنید. پایان «_ci» (غیرحساس به حروف کوچک) در نام قوانین مقایسه به این معنی است که در مقایسه و مرتب‌سازی حروف کاراکترها، پایان «_cs» (حساس به حروف کوچک) – بزرگ و کوچک، پایان در نظر گرفته می‌شود. "_bin" (دودویی) - مقایسه و مرتب سازی توسط کدهای کاراکتر عددی انجام می شود. برای اکثر قوانین مقایسه، می توانید یک توضیح (یعنی ترتیب کاراکترها که بر اساس آن مقادیر متن مرتب می شوند) در صفحه وب http://www.collation-charts.org/mysql60/ پیدا کنید.

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

می توانید با استفاده از دستور، قانون رمزگذاری و/یا مقایسه مقادیر کاراکترهای پایگاه داده را تغییر دهید

ALTER DATABASE<Имя базы данных>

مجموعه کاراکتر<Имя кодировки>

جمع آوری<Имя правила сравнения>;

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

برای حذف یک پایگاه داده غیرضروری یا ایجاد شده به اشتباه، دستور را اجرا کنید

رها کردن پایگاه داده<Имя базы данных>;

توجه!

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

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

استفاده کنید<Имя базы данных>;

مثلا،:

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

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

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

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

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

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

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

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

بنابراین، شما بر عملیات اصلی انجام شده با پایگاه داده به عنوان یک کل تسلط دارید: دستورات CREATE DATABASE (ایجاد)، ALTER DATABASE (تغییر)، DROP DATABASE (حذف)، USE (انتخاب پایگاه داده فعلی) و SHOW DATABES (مشاهده لیست از پایگاه های داده). در ادامه به عملیات جدول خواهیم پرداخت. در این صورت فرض می کنیم که شما یک پایگاه داده را به عنوان پایگاه فعلی انتخاب کرده اید و با جداول آن کار می کنید.

2.3. کار با جداول

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

ایجاد جدول

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

فهرست 2.1.دستور ایجاد جدول

ایجاد جدول<Имя таблицы>

(<Имя столбца 1> <Тип столбца 1> [<Свойства столбца 1>],

<Имя столбца 2> <Тип столбца 2> [<Свойства столбца 2>],

[<Информация о ключевых столбцах и индексах>])

[<Опциональные свойства таблицы>];


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

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

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

لیست 2.2.دستور ایجاد جدول مشتریان

ایجاد جدول مشتریان

(ID SERIAL,

نام VARCHAR(100)

تلفن VARCHAR(20)،

آدرس VARCHAR(150)،

رتبه بندی INT،

کلید اولیه (شناسه))


این دستور از پارامترها استفاده می کند: اولاً نام جدول و ثانیاً نام و انواع ستون هایی که جدول از آنها تشکیل خواهد شد (همچنین به جدول 1.1 در فصل 1 مراجعه کنید).

شناسه - شناسه رکورد. شما نوع SERIAL را به این ستون اختصاص داده اید که به شما امکان می دهد ردیف های جدول را به طور خودکار شماره گذاری کنید. کلمه کلیدی SERIAL مخفف BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE است. این بدان معنی است که اعداد صحیح بزرگ (BIGINT) مثبت (UNSIGNED) را می توان در ستون وارد کرد، در حالی که عدم وجود مقادیر نامشخص و تکراری (NOT NULL UNIQUE) به طور خودکار کنترل می شود. اگر هنگام اضافه کردن یک ردیف به جدول، مقداری برای این ستون مشخص نکنید، برنامه MySQL شماره ترتیب بعدی (AUTO_INCREMENT) را در این ستون وارد می کند.

توجه داشته باشید

NULL یک ثابت است که نشان دهنده عدم وجود یک مقدار است. اگر یک ستون حاوی یک مقدار NULL باشد، فرض می شود که هیچ مقدار تعریف شده ای برای آن ستون وجود ندارد (به همین دلیل است که ما NULL را نیز مقدار تهی می نامیم). NULL نباید با رشته خالی ("") یا عدد 0 اشتباه گرفته شود. با مقادیر NULL متفاوت رفتار می شود: اگر یکی از آرگومان ها NULL باشد اکثر توابع و عملگرها NULL را برمی گردانند. به عنوان مثال، نتیجه مقایسه 1 = 1 یک مقدار واقعی است (TRUE) و نتیجه مقایسه NULL = NULL یک مقدار تعریف نشده (NULL) است، یعنی دو مقدار تعریف نشده برابر در نظر گرفته نمی شوند.

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

سوم، شما مشخص کردید که ستون id با گنجاندن عبارت PRIMARY KEY (id) در دستور ایجاد جدول، کلید اصلی جدول خواهد بود.

چهارم، شما دو پارامتر اختیاری برای این جدول مشخص کرده اید. پارامتر ENGINE نوع جدول را مشخص می کند. شما به جدول مشتریان نوع InnoDB اختصاص داده اید، زیرا تنها این نوع از حفظ یکپارچگی روابط بین جداول اطمینان می دهد (جزئیات بیشتر در مورد انواع جدول در بخش "ویژگی های جدول اختیاری" بحث خواهد شد). پارامتر CHARACTER SET کدگذاری پیش فرض را برای داده های جدول مشخص می کند. از آنجایی که رمزگذاری را به طور جداگانه برای ستون های نام، تلفن و آدرس تنظیم نکرده اید، داده های این ستون ها در UTF-8 ذخیره می شوند که کدگذاری پیش فرض جدول مشتریان است.

مثال بعدی که ما به آن نگاه خواهیم کرد دستور ایجاد جدول محصولات است که در لیست 2.3 نشان داده شده است.

لیست 2.3.دستور ایجاد جدول محصولات

محصولات جدول ایجاد کنید

(ID SERIAL,

توضیحات VARCHAR(100)،

جزئیات TEXT،

قیمت DECIMAL(8,2)

کلید اولیه (شناسه))

مجموعه کاراکترهای موتور InnoDB utf8;


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

ستون قیمت از نوع DECIMAL است که برای ذخیره مقادیر پولی و سایر مقادیر طراحی شده است که برای جلوگیری از خطاهای گرد کردن مهم است. ما دو عدد را در پرانتز نشان داده‌ایم: اولی آنها حداکثر تعداد ارقام را در مقدار ستون تعیین می‌کند، دومی - حداکثر تعداد ارقام بعد از جداکننده اعشاری. به عبارت دیگر، قیمت یک محصول می تواند تا شش رقم در قسمت صحیح (6 = 8-2) و حداکثر دو رقم در قسمت کسری باشد.

و در نهایت، آخرین مثال دستور ایجاد جدول Orders است که در لیست 2.4 نشان داده شده است.

لیست 2.4.دستور ایجاد جدول سفارشات

ایجاد سفارشات میز

(ID SERIAL,

تاریخ DATE،

product_id BIGINT unsigned NOT NULL،

تعداد INT بدون امضا،

مقدار DECIMAL(10,2)

customer_id BIGINT بدون علامت،

کلید اولیه (شناسه)،

کلید خارجی (product_id) مراجع محصولات (id)

در مورد حذف محدودیت در به روز رسانی آبشار،

کلید خارجی (customer_id) ارجاعات مشتریان (id)

در مورد حذف محدودیت در به روز رسانی آبشار)

مجموعه کاراکترهای موتور InnoDB utf8;


ویژگی خاص جدول Orders وجود کلیدهای خارجی است: ستون product_id شامل شماره محصول از جدول Products و ستون customer_id شامل شماره مشتریان از جدول Customers است (جدول 1.2 را در فصل 1 نیز ببینید). از آنجایی که اعداد محصول و مشتری اعداد صحیح مثبت بزرگی هستند، ستون های product_id و customer_id را به تایپ BIGINT UNSIGNED اختصاص دادیم.

در مرحله بعد، برای اطمینان از اینکه یکپارچگی روابط به طور خودکار حفظ می شود (ما در مورد یکپارچگی در فصل 1 صحبت کردیم)، به MySQL گفتیم که هر کلید خارجی با کدام کلید اصلی مطابقت دارد. بنابراین، ساختار FOREIGN KEY (customer_id) REFERENCES Customers (id) به این معنی است که ستون customer_id فقط می تواند حاوی مقادیری از ستون شناسه جدول مشتریان و مقادیر null باشد و سایر مقادیر ممنوع هستند. برای ستون product_id، یک محدودیت مشابه تعیین کردیم و ویژگی NOT NULL را به این ستون اختصاص دادیم تا از ثبت سفارش‌ها با یک محصول تعریف‌نشده جلوگیری کنیم. علاوه بر این، قوانینی را برای حفظ یکپارچگی برای هر یک از اتصالات نشان دادیم (همچنین آنها را در فصل 1 مورد بحث قرار دادیم). قانون ON DELETE RESTRICT به این معنی است که اگر آن مشتری سفارش ثبت شده داشته باشد، نمی توانید سابقه مشتری را حذف کنید و اگر آن محصول توسط شخصی سفارش داده شده باشد، نمی توانید سابقه محصول را حذف کنید. قانون ON UPDATE CASCADE به این معنی است که وقتی یک شماره مشتری در جدول مشتریان یا یک شماره کالا در جدول محصولات تغییر می کند، تغییرات مربوطه در جدول سفارشات ایجاد می شود.

توجه داشته باشید

توجه داشته باشید که ما جدول Orders را آخرین بار ایجاد کردیم زیرا کلیدهای اصلی در جداول مشتریان و محصولات باید قبل از کلیدهای خارجی در جدول Orders ایجاد شوند که به آنها اشاره می کند. با این حال، می توان جداول بدون کلید خارجی را به هر ترتیبی ایجاد کرد و سپس کلیدهای خارجی را با استفاده از دستور ALTER TABLE اضافه کرد که در زیر بخش "تغییر ساختار جدول" به آن نگاه خواهیم کرد.

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

انواع داده در MySQL

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

بیایید به انواع داده های عددی نگاه کنیم.

بیت[(<Количествобитов>)].

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

یک عدد صحیح در محدوده 128- تا 127 یا (اگر ویژگی UNSIGNED مشخص شده باشد) 0 تا 255.

BOOL یا BOOLEAN.

آنها مترادف نوع داده TINYINT(1) هستند (عدد داخل پرانتز تعداد ارقامی است که باید نمایش داده شوند، به یادداشت زیر مراجعه کنید). در این مورد، مقدار غیر صفر درست (TRUE) و مقدار صفر نادرست (FALSE) در نظر گرفته می شود.

یک عدد صحیح در محدوده 32768- تا 32767 یا (اگر ویژگی UNSIGNED مشخص شده باشد) 0 تا 65535.

یک عدد صحیح در محدوده 8388608- تا 8388607 یا (اگر ویژگی UNSIGNED مشخص شده باشد) 0 تا 16777215.

INT یا INTEGER.

یک عدد صحیح در محدوده -2,147,483,648 تا 2,147,483,647 یا (اگر خاصیت UNSIGNED مشخص شده باشد) 0 تا 4,294,967,295.

یک عدد صحیح در محدوده -9,223,372,036,854,775,808 تا 9,223,372,036,854,775,807 یا (اگر خاصیت UNSIGNED مشخص شده باشد) از 0 تا 18,446,747,6915.

مترادف با BIGINT Unsigned NOT NULL AUTO_INCREMENT UNIQUE (یک عدد صحیح بدون علامت بزرگ که مقادیر منحصر به فرد افزایش یافته به طور خودکار را می پذیرد؛ مقادیر NULL مجاز نیستند). برای تولید خودکار مقادیر منحصر به فرد در یک ستون کلید اصلی استفاده می شود. توضیحاتی در مورد خصوصیات UNSIGNED و AUTO_INCREMENT در این بخش و خصوصیات NOT NULL و UNIQUE را در بخش "خواص ستون" خواهید یافت.

توجه داشته باشید

برای همه انواع داده های اعداد صحیح، به جز BOOL (BOLEAN) و SERIAL، می توانید در پرانتز تعداد ارقام نمایش داده شده را که همراه با پارامتر ZEROFILL استفاده می شود، مشخص کنید: اگر عدد دارای ارقام کمتری باشد، پس از خروجی روی عدد قرار می گیرد. با صفر باقی مانده است. به عنوان مثال، اگر یک ستون جدول به عنوان INT(5) ZEROFILL تعریف شود، مقادیر "1234567" و "12345" همانطور که هست و مقدار "123" به عنوان "00123" نمایش داده می شود. برای نوع داده BIT، اندازه عدد، یعنی حداکثر تعداد بیت های ذخیره شده، در داخل پرانتز نشان داده شده است.

در زیر لیستی از کاربردی ترین و پرکاربردترین دستورات آمده است 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";

نمایش تمام رکوردها در یک جدول خاص حاوی "باب" و شماره تلفن "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 را تنظیم کنید.

# 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/alldatabases.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");

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

موارد عجیب در توضیحات MySQL

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

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

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

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

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

cmd را اجرا کنید

برای راه اندازی MySQL از خط فرمان، ابتدا خود ابزار (cmd) را که در مجموعه استاندارد ویندوز موجود است، فعال کنید. شما می توانید این کار را به چند روش انجام دهید:

میانبر صفحه کلید Win + R و سپس در کادر گفتگوی Run که ظاهر می شود، cmd را وارد کنید

از طریق پنل Start.

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

خط فرمان بومی MySQL درست مانند یک cmd معمولی راه اندازی می شود. تفاوت در عملکرد هر دو ابزار بعدا ظاهر می شود. در بخش بعدی در این مورد صحبت خواهیم کرد.

کار با خط فرمان

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

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

حساب کاربری - ورود و رمز عبور.

اگر با دنور کار می کنید، فایل اجرایی روی دیسک مجازی که پس از راه اندازی سرور محلی ایجاد می شود، در این مسیر قرار دارد: Z:\usr\local\mysql-5.5\bin.

همانطور که قبلاً گفتم، خط فرمان MySQL در Denwer از طریق cmd OC راه اندازی می شود. یعنی ابتدا آن را اجرا می کنیم و سپس مسیر فایل اجرایی DBMS را مشخص می کنیم. رمز عبور و ورود به سیستم برای دسترسی را می توان ابتدا یا بعد از فعال کردن ابزار MySQL مشخص کرد. در مورد من، ثبت همه چیز به طور همزمان راحت تر است: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

ما با حقوق مدیر وارد سرور DBMS شدیم. من رمز عبوری برای root ندارم، بنابراین مقدار آن مشخص نشده است. پس از اینکه MySQL را از خط فرمان راه اندازی کردیم، اطلاعات راهنما در مورد نسخه ابزار، سرور و شناسه اتصال در زیر ظاهر می شود.

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

نمایش جداول باز؛

نمایش جداول باز

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

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

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

کار با سایر برنامه ها

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

ابتدا به دیسک مجازی بروید، سپس از دستور cd به پوشه ای که برنامه در آن ذخیره شده است استفاده کنید. به شما یادآوری می کنم که برای ایجاد نسخه های پشتیبان از پایگاه های داده در نظر گرفته شده است.

در مرحله بعد، قبل از ورود به MySQL از طریق خط فرمان، باید یک حساب کاربری و رمز عبور برای آن تعیین کنیم. مثالی از استفاده از دستور mysqldump:

mysqldump -uroot world>C:\Users\home\Desktop\dump\copy.sql

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

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

سایر ابزارهای موجود در مجموعه استاندارد به روشی مشابه راه اندازی می شوند. با کمک آنها می توانید تمام عملیات مدیریت DBMS را انجام دهید: مدیریت نقش ها، ایجاد پشتیبان، ویرایش محتویات ذخیره سازی. و همچنین سرویس 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 myisam_sort_8M_size =

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

از نویسنده:آیا دوباره گم شده اید و نمی دانید چگونه به MySQL وارد شوید؟ تو اولین نفر نیستی! همه کسانی را که گم شده اند جمع کنید، و حالا بیایید مستقیم به دیدن او برویم. به چه کسی "به او"؟ به محبوب ترین DBMS در شبکه جهانی وب!

MySQL در کجای دنور قرار دارد؟

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

قبل از ورود به MySQL از طریق مرورگر، باید یک سرور محلی راه‌اندازی کنید، سپس localhost را در نوار آدرس تایپ کنید و در پنجره‌ای که ظاهر می‌شود، «هورا، کار می‌کند!» در قسمت Utilities phpMyAdmin را انتخاب کنید.

پس از آن شما خود را در آنجا خواهید یافت (در phpMyAdmin).

ما از طریق "لابیرنت" به پایگاه داده ها می رویم

من و شما به جنگل "متراکم" می رویم و سعی می کنیم "از آن عبور کنیم" به سرور پایگاه داده. فکر نکنید که ما از کسی پنهان شده ایم، فقط همین الان مانند ... برو!

قبل از ورود به MySQL از طریق خط فرمان، باید بدانید که دایرکتوری سرور اصلی پایگاه داده در کجا قرار دارد. اگر از DBMS به شکل خالص و بدون ناخالصی استفاده می‌کنید (خارج از مجموعه «جنتلمن»)، پس پوشه ریشه سرور در اینجا قرار دارد: C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe

اگر از Denver استفاده می کنید، فایل مورد نظر در این مسیر قرار دارد: Z:\usr\local\mysql-5.5\bin\mysql.exe،

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

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

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

در پنجره سیاه رنگ CMD (خط فرمان) مسیر ذخیره فایل اجرایی MySQL را وارد کرده و در کنار آن نام کاربری و رمز عبور DBMS را مشخص کنید. از آنجایی که ما یک سرور محلی داریم، پس از شناسه u، نام کاربری root را بدون رمز عبور وارد می کنیم.

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

در اینجا کل قطعه "کد" است: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

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

حال برای بررسی صحت اتصال، بعد از عملگر mysql> یک کوئری وارد می کنیم که تمامی پایگاه های داده ذخیره شده در سرور را نمایش می دهد. کد درخواست:

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

فراموش نکنید که در انتهای درخواست یک نقطه ویرگول قرار دهید، در غیر این صورت سیستم پیغام خطا نمایش می دهد. پس از وارد کردن پرس و جو و فشار دادن کلید "Enter"، لیستی از تمام پایگاه های داده ذخیره شده در سرور DBMS دریافت کردیم:

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

نمایش جداول از db1.

نمایش جداول از db1.

db1 نام دیتابیس مورد نیاز ما است.

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

بیایید عمیق تر کاوش کنیم!

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

انتخاب * از حیوان.

SELECT * FROM animal ;

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

و همه به این دلیل است که ما فراموش کرده ایم به MySQL بگوییم که به کدام پایگاه داده علاقه مند هستیم. بنابراین سرور "قسم می خورد" که هیچ یک از پایگاه های داده اختصاص داده نشده است. این یک بار دیگر ثابت می کند که کار با یک DBMS از طریق خط فرمان بسیار متفاوت از تعامل با آن از طریق پوسته نرم افزار است.

در phpMySQL، این پرس و جو با موفقیت اجرا می شود و سرور مجموعه ای از تمام ردیف های موجود در جدول درخواستی را برمی گرداند.

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

از db1 استفاده کنید؛

پس از ورود به این خط و اجرای آن، سرور پیغامی مبنی بر تخصیص پایگاه داده مورد نظر را نمایش می دهد.

و اکنون بیایید یک پرس و جو را وارد کرده و اجرا کنیم تا دوباره همه داده ها را از جدول حیوانات بازیابی کنیم. "اجازه دهید داده ها وجود داشته باشد!" - مدیر گفت و SELECT را راه اندازی کرد. ما به انتهای db1 رسیدیم و محتویات جدول حیوانات را دریافت کردیم. بیخود نیست که قبل از ورود به پایگاه داده MySQL، یک "آیین" کامل انجام دادیم و "طلسم" صحیح را در SQL نوشتیم.

چه چیز دیگری می توانید کشف کنید؟

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

توصیف حیوان؛

توصیف حیوان؛

گاهی اوقات، برای اینکه بدانید چگونه سرور MySQL را فعال کنید، باید لیستی از تمام کاربران ثبت نام شده DBMS دریافت کنید. برای این کار از پرس و جو زیر استفاده می شود.