دوستان عزیز سلام

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


 

بنام خدا

انواع نسخه های My sql:

Server

RPMs:جهت کلاینتها میباشد.پس از نصب نسخه سرور استفاده از یک کلاینت جهت تست ارتباط خالی از لطف نیست.

 

اولین موضوع مهم اینکه میباید پیش از ایجاد database  ها حتما Mysql  خود را start  نمائیم و البته پیش از آن توسط این دستور فرآیند boot time  را صورت دهیم.

root@bigboy tmp]# chkconfig mysqld on

 

این دستورات تیز جهت stop  یا  start یا restart سرویس بکار میروند:

[root@bigboy tmp]# service mysqld start
[root@bigboy tmp]# service mysqld stop
[root@bigboy tmp]# service mysqld restart

 

نکته مهم آنکه restart نمودن سرویس mysql پس از هر بار تغییرات در آن ضروری است.

 

و جهت تست mysql  خود:

[root@bigboy tmp]# pgrep mysqld

 

فابل اصلی پیکر بندی mysql:

/etc/my.cnf

محل data base ها:

/var/lib/mysql/

بطور مثال جهت پایگاه داده با نام azizi که ایجاد نموده ایم فابل آن در مسیر زیر تشکیل میگردد:

azizi /var/lib/mysql/

کاربر root:

هنگامی کـه سـرویـسدهـنده 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> grant all privileges on *.* to root@localhost identified by 'password';
Query OK, 0 rows affected (0.19 sec)
mysql>

در دسـتـور بـالا به سـرویسدهـنده مـیگوییم کـه تـمامی مـجوزهای دسترسی را به تمامی بانکهای اطلاعاتی، به کاربر root که از ماشین محلی به سیستم مـتـصل مـیشـود و دارای کلمه عبور password است، اعطاء کن. توجه داشته باشید که بجای password بـایـد کلمه عبور مورد نـظـرتـان را برای کاربر ریشه، وارد نمایید. با تایپ دستور quit از کنسول خارج شده و به پوسته فرمان باز خواهید گشت.

برای ایجاد کاربران جدید و دادن مجوز بر روی یک بانک اطلاعاتی:

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 نیز دستورات تایپ شده را در یک تاریخچه نگهداری میکند. با استفاده از کلیدهای مکان نما در این کنسول، میتوانید بین این دستورات حرکت کرده و در صورت لزوم از آنها استفاده کنید.

 

مانند کاربر sa در ms sqlserver  یا نقشی مانند administrator در ویندوز دارد و جهت تغییر پسورد آن:

[root@tmp bigboy]# mysqladmin -u root password new-password

کاربران با سطح دسترسی محدودتر هم میتوان ایجاد نمود.

 

CLI:command line interpreter

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

mysql -u root -p

-u:جهت نام کاربری

-p: جهت رمز عبور

پس از این دستور وارد خط فرمان mysql  میشویم:

mysql>

 

ایجاد یک پایگاه داده با نام azizi:

mysql> create database azizi;

Query OK, 1 row affected (0.00 sec)

نکته : تقریبا تمامی دستورات نیاز به semi-colon دارند.

حذف یک database  با نام  azizi :

mysql> drop database salesdata;

Query OK, 0 rows affected (0.00 sec)

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

Granted full privileges to the database

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

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

[root@bigboy tmp]# service mysqld stop

 

 

محدودیت دسترسی جهت کاربران غیر Root  :

تمامی کاربران در پایگاه داده ای با نام mysql  ذخیره میشوند.جهت اضاف نمودن یک کاربر sql به این database:

sql> grant all privileges on database.* to username@"servername" identified by 'password';

مثال:ایجاد یک کاربر با نام azizi در database با نام barboddata  سرور localhost و با پسورد "123456"که حق کاربری با این پایگاه داده را با تمامی حق و حقوق  خواهد داشت:

sql> grant all privileges on barboddata.* to azizi@"localhost" identified by '123456';

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

The next step is to write the privilege changes to the mysql.sql database using the flush privileges command.

 

sql> flush privileges;

 

دستورات ایجاد Table توسط اجرای یک script :

 

[root@bigboy tmp]# mysql -u root -p salesdata < create_mysql.script

Enter password:

[root@bigboy tmp]#

 

مشاهده پایگاه داده:

 

[root@bigboy tmp]# mysql -u mysqluser -p salesdata

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

mysql> show databases;

+-----------+

| Database  |

+-----------+

| salesdata |

+-----------+

1 row in set (0.00 sec)

 

mysql>

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

mysql> use salesdata; تغییر پایگاه داده--------------------------->  

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

mysql> show tables;      دستور مشاهده جداول---------------------------->

 

| Tables_in_salesdata |

+---------------------+

| test                |

+---------------------+

1 row in set (0.00 sec)

 

mysql>

مشاهده ساختار جداول یک پایگاه داده:

مثال: مشاهده جدول test در پایگاه داده

mysql> describe test;

+---------------+--------------+------+-----+------------+----------------+

| Field         | Type         | Null | Key | Default    | Extra          |

+---------------+--------------+------+-----+------------+----------------+

| num           | int(11)      |      | PRI | NULL       | auto_increment |

| date_modified | date         |      | MUL | 0000-00-00 |                |

| name          | varchar(50)  |      | MUL |            |                |

| description   | varchar(75)  | YES  |     | NULL       |                |

+---------------+--------------+------+-----+------------+----------------+

6 rows in set (0.00 sec)

 

mysql>

 

 

 

 

 

منتظر قسمت دوم باشید