نصب و پیکربندی سرویسدهـنده بانک اطلاعاتی MySQL(2409 مجموع کلمات موجود در متن) (5989 بار مطالعه شده است) 
نصب و پیکربندی
سرویسدهـنده بانک اطلاعاتی MySQL امروزه
نگهداری بانکهای
اطلاعاتی مختلف، یکی از عمدهترین
کاربردهای سرویسدهندههای
موجود بـر روی شبـکـهها
مـیباشد.
بـانـکهای
اطلاعاتی اخـتصاصی زیادی بر روی دبیان
گنو/
لینوکس
قابل استفاده هستند، ولی دو سیستم
سـرویـسدهنده بـانـک
اطلاعـاتـی آزاد و بـازمـتن کـه معمولا
به همراه توزیعهای رایج گنو/
لینوکس
ارائه میشوند، عبارتند
از بانکهای اطلاعاتی
MySQL
و
PostgreSQL.
ســرویـسدهنده
بـانـک اطلاعـاتی PostgreSQL
سرویسدهندهای
با قابلیتهای فنی بسیار
بالاست که مـیتـوانـد
بـا سـرویسدهندههای
اختصـاصـی مانند Oracle
رقابت
کند.
سـرویسدهنده
MySQL یک
سـرویـسدهـنده سبکتـر
و بـا سرعـت بسـیـار بـالاست که امروزه
در سـطوح گستـردهای
بـه عنوان سرویسدهنده
نـرمافزارهای تـحـت
وب و سـایتهای وب بـکار
گرفته میشود.
در
ایـن مقاله، ما به سـرویـسدهنده
بـانـک اطلاعـاتی MySQL
بر روی
توزیع دبیان گنو/لینوکس
خـواهـیـم پـرداخت.
سـایـت
رسـمی MySQL
در
آدرس http://www.mysql.org
قرار
دارد کـه در آن مـیتوانید
به تعـداد زیـادی مستـندات راهنما به
همراه یک انجمن فعال کاربران دسترسی داشته
باشید.
نصب سرویسدهنده
MySQL نسـخه
پـیشگزیده سـرویسدهنده
MySQL که
بر روی دبیان گنو/
لینوکس
۳.۱
موجود است، نسخه ۴ میباشد
کـه پـایـدار بوده و بسیاری از نرمافزارهای
کاربردی با آن سازگاری دارند.
نسخه
جدیدتر این سرویسدهنده
کـه نـسخه ۴.۱
مـیباشد نیز به همراه
دبیان گنو/
لینوکس
۳.۱
ارائه شده که در صورت نیاز میتـوانید
از آن استفاده کنید.
نـصب
سـرویسدهنده بانک
اطلاعاتی MySQL
بسیار
آسان میباشد.
کـافی
است دسـتـور apt-get
install mysql-server را
وارد نـمایـید.
در
هـنگام نصب، هشداری در مورد کلمات عبور
نـمایش داده شده و سـوالاتـی در مـورد
اجـرای خـودکـار سرویسدهنده
در هنگام بوت سیستم و حذف بانکهای
اطلاعاتی قدیمی موجود بر روی سیستم پرسیده
خواهد شد.
# apt-get install
mysql-server Reading Package Lists... Done Building
Dependency Tree... Done The following NEW packages will be
installed: mysql-server 0 upgraded, 1 newly installed, 0 to
remove and 0 not upgraded. Need to get 0B/3641kB of
archives. After unpacking 8806kB of additional disk space will be
used. Preconfiguring packages ... Selecting previously
deselected package mysql-server. (Reading database ... 130011
files and directories currently installed.) Unpacking mysql-server
(from .../mysql-server_4.0.23-4_i386.deb) ... Setting up
mysql-server (4.0.23-4) ... Starting MySQL database server:
mysqld. Checking for crashed MySQL tables in the background.
برای نـصـب
نـسـخه ۴.۱
نـیز میتوانید از دستور
apt-get install
mysql-server4.1 استفاده
نمایید.
البته
توجه داشته باشید که در یک زمان تنها یکی
از نسخههای ۴ یا ۴.۱
را میتوانید بر روی
سرویسدهنده خود داشته
باشید.
پیکربندی و
مدیریت سرویسدهنده
MySQL
بسـته دبـیـان
سـرویسدهنده MySQL
حـاوی
بسیاری از تنظیمات لازم میباشد.
فایل
پیکربندی اصلی سـرویـسدهنده
MySQL در
مسیر etc/mysql/my.cnf/
قرار
دارد و در آن تنظیماتی از قبیل شماره
درگاه، نـام کاربری کـه سـرویسدهنده
بـا اسـتـفاده از آن اجرا میشود،
مسـیر قرار گیری فایلهای
مربوط به بانکهای
اطلاعاتی، فایلهای ثبت
رخـداد و غیره میباشد.
بسته
MySQL دبیان
طوری تنظیم شدهاست که
پس از نصب سرویسدهنده،
امکان اتصال به درگاه آن از خارج از سیستم
سرویسدهنده امکانپذیر
نخواهد بود.
این
گزینه در امنیت کلی سرویسدهـنده
بسیار موثر میباشد.
نام
کاربر و گروهی که هنگام نـصـب بـسته دبـیان
سرویسدهنده MySQL
بر روی
سیستم ساخته میشود است.
هنگامی کـه
سـرویـسدهـنده MySQL
نصب
میشود، بـطور پیشگزیده،
هیچ کلمه عبوری برای کاربر ریشه که مدیر
سرویسدهنده میباشد،
در نظر گرفته نشدهاست.
به
عنوان مدیر سرویسدهنده،
نخستین و تنها تنظیم ضروری که باید بر روی
سرویسدهنده MySQL
انـجـام
دهید، ایجاد یک کلمه عبور برای کاربر ریشه
میباشد.
به این
منظور، باید با استفاده از کنسول
سرویسدهـنده، بـه آن
وارد شـوید.
از این
پـس نـیز بـرای انجام تمامی کارها و امور
مدیریتی خود بر روی سرویسدهنده
مانند ایجاد و مدیریت بانکهای
اطلاعاتـی، ایـجاد کـاربران جدید، تنظیم
مجوزهای دسـترسـی و غیره از این کنسول
استفاده خواهید کرد که جلوتر به آنها
خـواهیم پرداخت.
برای
ورود به کنسول سرویسگیرنده
MySQL،
دستور زیر را وارد کنید:
# mysql -u root Welcome to
the MySQL monitor. Commands end with ; or \g. Your MySQL
connection id is 823 to server version: 4.0.23_Debian-4-log Type
'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
پـس از تـایـپ
دسـتور، همـانطور کـه در کـد نمونه بالا
مشاهده میکنید، اعلان
فرمان سرویسدهنده MySQL
به
نمایش در خواهد آمد.
گـزیـنه
u- در
دسـتور بـالا نـمایانگر نام کاربری است.
در
دستور بالا بـا استفاده از کـاربـر ریـشـه
وارد سـرویسدهـنـده
شدهایم.
همانطور
کـه مـشاهده میکنید،
هیچ کلمه عبوری از ما در خواست نشدهاست.
نحوه
استفاده از این دستور به شکل زیر میباشد:
# mysql [OPTIONS] [database]
گـزینههـای
مـهم قابل استفاده با این دستور عبارتند
از گزینه u-
که در
بالا شرح داده شد و نمایانگر نام کاربری
است که مایل هسـتید بـا استفاده از آن به
سرویسدهنده متصل شوید،
گزینه p-
که
برای ارسال کـلمه عـبور و یا نمایش اعلان
درخواست کلمه عبور بر روی سرویسدهنده
به کار میرود.
پس ا
زاین دو گزینه نیز میتوانید
نام بانک اطلاعاتی را که مایل هستید بر
روی آن کار کنید را وارد کنید.
در نخستین قدم،
برای اینکه کلمه عبور ریشه را بر روی
سرویسدهنده تنظیم کنیم،
در کنسول MySQL
باید
دستورات زیر را وارد کنیم:
# mysql -u root Welcome to
the MySQL monitor. Commands end with ; or \g. Your MySQL
connection id is 9 to server version: 4.0.23_Debian-4-log Type
'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
grant all privileges on *.* to root@localhost identified by
'password'; Query OK, 0 rows affected (0.19 sec) mysql>
در دسـتـور
بـالا به سـرویسدهـنده
مـیگوییم کـه تـمامی
مـجوزهای دسترسی را به تمامی بانکهای
اطلاعاتی، به کاربر root
که از
ماشین محلی به سیستم مـتـصل مـیشـود
و دارای کلمه عبور password
است،
اعطاء کن.
توجه
داشته باشید که بجای password
بـایـد
کلمه عبور مورد نـظـرتـان را برای کاربر
ریشه، وارد نمایید.
با
تایپ دستور quit
از
کنسول خارج شده و به پوسته فرمان باز
خواهید گشت.
توجه
داشـته باشید که در پایان تمامی دستوراتی
که در کنسول MySQL
وارد
میکنید، باید علامت
سمی کالن یا «;»
را
قرار دهید.
اکنون
مجددا سعی میکنیم تا
با دستور قبل به سرویسدهنده
متصل شویم:
# mysql -u root ERROR
1045: Access denied for user: 'root@localhost' (Using password: NO)
هـمـانطور که
مشـاهده مـیکنید، این
بار دیگر امکان دسترسی به سرویسدهنده،
بدون استفاده از کلمه عبور وجـود ندارد.
برای
اینکه سرویسدهنده هنـگام ورود از ما
تقاضای کـلمه عبور نماید، گزینه p-
را به
دستور فوق اضافه میکنیم.
به
مثال زیر توجه کنید:
# mysql -u root -p
Enter password:
این امـکان
وجـود دارد تا کلمه عـبور خـود را بلافاصلـه
و چسـبـیده به گزینه p-
برای
سرویسدهنده ارسـال
کـنید. فقط
در این صورت، کلمه عبور بــر روی صفـحـه
نـمایش قابل مشاهده خواهد بود که انجام
این کار را از نظر امنیتی توصیه نمیکنم.
آشنایی بیشتر
با کنسول MySQL
کـنسول MySQL
خـود
دارای تعدادی فرمان داخلی میباشد
که از آنـهـا بــرای امــور مـدیریتی خود
استفاده خواهید کرد.
با
تایپ دسـتور help
در این
کنسول، لیستی از این فرامین نمایش داده
خواهد شد.
به
نمونه زیر توجه کنید:
mysql> help For the complete
MySQL Manual online visit:
http://www.mysql.com/documentation For info on technical support
from MySQL developers visit: http://www.mysql.com/support For
info on MySQL books, utilities, consultants, etc. visit:
http://www.mysql.com/portal List of all MySQL commands:
(Commands must appear first on line and end with ';') help (\h)
Display this help. ? (\?) Synonym for `help'. clear
(\c) Clear command. connect (\r) Reconnect to the server.
Optional arguments are db and host. edit (\e) Edit command
with $EDITOR. ego (\G) Send command to mysql server,
display result vertically. exit (\q) Exit mysql. Same as
quit. go (\g) Send command to mysql server. nopager
(\n) Disable pager, print to stdout. notee (\t) Don't
write into outfile. pager (\P) Set PAGER [to_pager]. Print
the query results via PAGER. print (\p) Print current
command. prompt (\R) Change your mysql prompt. quit (\q)
Quit mysql. rehash (\#) Rebuild completion hash. source
(\.) Execute a SQL script file. Takes a file name as an
argument. status (\s) Get status information from the
server. system (\!) Execute a system shell command. tee
(\T) Set outfile. Append everything into given outfile. use
(\u) Use another database. Takes database name as
argument. Connection id: 812 (Can be used with mysqladmin
kill) mysql>
دستورات مهم
عبارتند از:
exit و
quit
برای
خروج از اعلان فرمان MySQL.
system برای
اجرای دستورات سیستمی و خط فرمان از داخل
اعلان MySQL,
use برای
تـغییر بانـک اطلاعاتـی قـابل اسـتفاده
و فـعال کـه فـرامـین SQL
بر
روی آن اجرا خواهد شد.
برای
مثال use
test بانک
اطلاعاتی test
را
آماده دریافت دستورات خواهد کرد.
دستورات دیگری
را که در کنسول MySQL
میتوانید
وارد کنید، دستورات زبان SQL
میباشد.
برای
این منظور باید با این زبان آشنا باشید.
در زیر
چند مثال نمایش داده شدهاست:
mysql> create database
mydatabase;
mysql> grant all privileges on
mydatabase.* to user@localhost identified by 'password';
mysql> show databases;
mysql> use mydatabase;
mysql> show tables;
mysql> drop database mydatabase;
mysql> use mydatabase;
mysql> drop table mytable;
mysql> revoke all privileges on
mydatabase.* from user@localhost;
هـمانند آنچه
که در پـوسـته فـرمان سیستم دیدید، کنسول
MySQL نیز
دستورات تایپ شده را در یک تاریخچه نگهداری
میکند.
با
استفاده از کلیدهای مکان نما در این کنسول،
میتوانید بین این
دستورات حرکت کرده و در صورت لزوم از آنها
استفاده کنید.
علاوه بر کنـسول
MySQL،
دستـوری نیـز به نام mysqladmin
وجود
دارد که از آن میتوانید
برای امور مدیریتی مانند ایجاد بانکهای
اطلاعاتی، تنظیم مجوزهای دسترسی، تنظیم
کلمات عبور و غیره استفاده کنید.
برای
اطلاعات دقیقتر میتوانید
به مستندات این دستور مراجعه کنید.
مدیریت
سرویسدهنده MySQL بــرای
راهاندازی و توقف
سرویـسدهنده MySQL
خود
در مواقع لزوم میتوانید
از دستور زیر استفاده کنید.
گـزیـنه
start بـرای
راهاندازی، گـزیـنه
stop بـرای
تـوقف و گزینه restart
جهت
راهاندازی مجدد
سرویسدهنده بکار
میروند:
# /etc/init.d/mysql Usage:
/etc/init.d/mysql start|stop|restart|reload|force-reload #
/etc/init.d/mysql start Starting MySQL database server:
mysqld. Checking for crashed MySQL tables in the background.
کـلـیه فـرامـینی
که در سـرویـسدهــنده
MySQL اجــرا
مـیشوند، در یـک فـایـل
ثبت رخداد به نام mysql.log
که در
مـسـیر var/log/mysql/
قـرار
دارد، ثبت میشوند.
بنابراین
در مواقع لزوم میتوانید
این فایل را زیر نظر داشته باشید.
آلن باغومیان
alan@technotux.org
|