اطلاعیه

بستن
No announcement yet.

آموزش نصب و راه اندازی MySQL-Server در ردهت و دبیان (centos,fedora,ubuntu,debian)

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    آموزش نصب و راه اندازی MySQL-Server در ردهت و دبیان (centos,fedora,ubuntu,debian)

    مقدمه :
    مای اس کیوال (MySQL) یک پایگاه داده رابطه ای یا سامانه مدیریت دادگان (DBMS) است که به دلیل سادگی نصب و مدیریت، و بازمتن (Open source) بودن از محبوبیت زیادی برخوردار است. SQL مخفف Structured Query Language می باشد که محبوبترین زبان کامپیوتری است که برای ایجاد، تغییر و بازیابی و عملیات بر روی داده ها در مدل رابطه ای می باشد. این زبان به سمت مدل شی گرا - رابطه ای نیز پیشرفت کرده است. SQL استانداردهای را نیز دریافت کرده است که قابلیت نصب و راه اندازی در بیشتر سیستم عامل ها مانند لینوکس، مکینتاش، FreeBSD و ویندوز قابل نصب است. سه نرم افزار PHP,MySQL و Apache بسته نرم افزاری LAMP که مخفف Linux Apache MySQL PHP را تشکیل می دهند بعنوان بستری برای راه اندازی سایت ها و Web Appliaction ها در سیستم عامل های گفته شده بکار می روند. در این پست چگونگی نصب و راه اندزی پایگاه داده MySQL 5.5 را در توزیع های CentOS,RedHat و Oracle Linux آموزش داده می شود.

    نصب و راه اندازی MySQL-Server در CentOS و RedHat :

    برای نصب MySQL Server در نسخه های ردهت و دبیان بر اساس نوع سیستم عامل که دارین دستور زیر را در خط فرمان اجرا کنید.
    Red Hat :

    کد PHP:
    yum  install  mysql-server  mysql 
    Debian :

    کد PHP:
    apt-get install mysql-server 
    دستور بالا هسته اصلی MySQL یعنی برنامه mysql و همچنین نیازمندی های سرو MySQL یعنی mysql-server را نصب می کند. پس از نصب برنامه های بالا سرویس MySQL به نام mysqld نصب می شود. اولین کاری که بعد از نصب باید انجام داده راه اندازی یا فعال یا start کردن این سرویس است.
    این دستور سرویس mysqld را در سطوح فعال می کند. این کار باعث می شود پس از راه اندازی مجدد سیستم و یا تغییر سطح اجرایی بازهم سرویس mysqld هنوز در دسترس باشد.

    کد PHP:
    chkconfig  mysqld  on 
    خط دوم بطور کلی سرویس را start یا فعال می کند. تا زمانی که سرویسی (مانند mysqld) فعال یا start نشده باشد قابل استفاده نیست.

    کد PHP:
    etc/init.d/mysqld  start
    گذاشتن پسورد بر روی یوزر ادمین :
    پایگاه داده MySQL دارای یک کاربر مدیر به نام root است. باید با دستور زیر کلمه عبوری برای root تعیین کنیم.برای این کار از ابزار مدیریتی mysqladmin استفاده می کنیم. این ابزار، یک دستور مدیریتی است که به همراه بسته mysql نصب می شود. در خط زیر سوئیچ u- تعیین کننده Username و سویچ password تعیین کننده Password یا کلمه عبور برای کاربر است. شکل کلی تعیین پسورد برای یک کاربر بصورت زیر است :

    کد PHP:
    mysqladmin  -u  Username  password  YourPassword 
    EXAM :

    کد PHP:
    mysqladmin  -u  root  password  P@ssw0rd 

    چگونه وارد محیط خط فرمان MySQL شویم :
    پس از ایجاد هر کاربر و پسوردش، می توانیم وارد سیستم شویم. برای ورود به محیط MySQL که در این محیط می توانیم اعمال مدیریتی مانند ایجاد، حذف کاربران و اعطای مجوز ها به کاربران و … را انجام دهیم. برای ورود به این محیط باید از دستور mysql به شکل کلی زیر استفاده کنیم. در شکل کلی زیر از دستور mysql سوئیچ u- برای تعیین نام کاربری یا Username و سویچ p- معرف وارد کردن پسورد است.

    نکته امنیتی موقع ساخت یوزر:
    برای امنیت بیشتر جلوی سوئیچ p- پسورد را نمی نویسیم بلکه پس از نوشتن شکل کلی زیر و زدن Enter یک اعلان برای گرفتن پسورد از شما نمایش داده می شود.

    کد PHP:
    mysql  -u  Username  -

    بطور مثال برای کاربر root بصورت زیر است.
    کد PHP:
    mysql   -u  root  -
    پس از Enter زدن خط بالا اعلان Enter Password نشان داده می شود که باید پسورد کاربر root را وارد کنید. اگر پسورد را درست وارد کرده باشید اعلان محیط خط فرمان MySQL بصورت زیر نشان داده می شود.
    کد PHP:
    <mysql 
    روش reset یا start و stop کردن سرویس mysql :
    از این پس می توانید Query ها را اجرا کنید. اگر به هر دلیلی سرویس mysqld دچار مشکل شد یا اینکه می خواهید آنرا راه اندازی مجدد یا reset کنید با یکی از دستور های زیر این کار را انجام دهید. تفاوتی که بین reload و resatart وجود دارد این است که با reload کردن ارتباط کاربران به سرور mysql قطع نخواهد شد ولی با restart کردن سرویس یکبار stop و از نو start می شود که باعث قطع ارتباط می شود.
    کد PHP:
    etc/init.d/mysqld  reload/
    etc/init.d/mysqld   restart
    این دستور هم سرویس MySQL را stop می کند.

    کد PHP:
    etc/init.d/mysqld    stop
    با دو دستور mysqladmin و mysql اشنا شدیم. اولین دستور برای کارهای مدیریتی استفاده می شود و دستور mysql که دارای سوئیچ های زیادی است با استفاده از سوئیچ های u- و p- وارد محیط MySQL بشویم. در مثال بالا ما وارد یک محیط MySQL در لوکال هاست شدیم ولی می توانیم از یک کلاینت MySQL یا از سرور MySQL دیگری وارد یک سرور MySQL شویم به این حالت معماری Client/Server گویند.


    اجرای دستور های محیط MySQL :
    اگر توانسته باشید با Username/Password وارد محیط MySQL شده باشید. اولین دستوری که اجرا کنید help است. این دستور لیست تمامی فرامین این محیط را نشان می دهد. (دقت کنید تمامی دستور ها در MySQL کوچک هستند و خود MySQL به بزرگی و کوچکی حساس است). در این فایل که به پیوست پست میباشد (Mysql-Cmd.txt) دستور ها نشان داده شده است که برخی از آنها را توضیح می دهم. تمامی دستور های بالا شکل خلاصه شده ای مانند c\ را دارند که با نوشتن کامل دستور تفاوتی ندارد.


    connect :
    برای کانکت مجدد یا reconnect شدن است. شکل کلی آن بصورت زیر است و میتوانید بجای نوشتن connect از r\ استفاده کنید. پارمترهای db_name و host_name اختیاری هستند. و نوشتن خالی connect یا r\ کفایت می کند.

    کد PHP:
    [[connect [db_name host_name]], \[db_name host_name 

    system :
    باعث اجرای یک دستور سیستم عامل مانند ls در لینوکس و یا dir در ویندوز از درون محیط MySQL می شود. شکل کلی آن بصورت زیر است. جای commnd هر دستوری را می توانید بنویسید.


    شکل خلاصه شده system نماد !\ است.

    کد PHP:
    system command, \! command 

    status :
    نمایش حالت یا Status کانکشن (Connection) فعلی را نشان می دهد. اطلاعاتی همچون Session ID، نام کاربری و از کدام ماشین وارد شده است، ایا از پروتوکل امن SSL استفاده شده است و … را نشان می دهد. برای ایجاد هر ارتباط نیاز به وارد کردن یک نام کاربری و پسورد است که ورود یک جلسه یا Session برای ترکیب Username/Password ایجاد می شود. البته ممکن است که از یک ماشین یا از ماشین های متفاوت و با استفاده از نام کاربری/پسورد یکسان چندین جلسه ایجاد شود که هر کدام ID خاص خودشان را دارند. البته امکان محدود کردن جلسات برای هرذ Username مقدور است. شکل کلی استفاده از آن بصورت زیر است.
    کد PHP:
    status, \
    آپدیت کردن پسورد ROOT در MYSQl :

    کد PHP:
    Mysqladmin –u root –p’Old Password’ password ‘newpassword’ 
    EXAM :

    کد PHP:
    Mysqladmin –u root –p’123456’ password ‘123’ 


    همچنین پیشنهاد میشود مقالات زیر را مطالعه کنید.

    آموزش کامل نصب آخرین ورژن MariaDB 10 در لینوکس CentOS/RHEL - Debian/Ubuntu
    آموزش نصب MySQL 8.0 روی Ubuntu 18.04
    آموزش نصب MySQL 5.7.9 در RedHat/CentOS 7-6-5 و Fedora 21-23
    20 نمونه از دستورات MySQL (Mysqladmin) برای مدیریت دیتابیس در Linux
    آموزش دستورات MySQL (بخش اول)
    آموزش دستورات MySQL (بخش دوم)
    آموزش کار با MySQL
    15 پرسش و پاسخ اولیه ی MySQL برای ادمین های پایگاه داده
    آموزش دستورات Select در MySQL
    دستورات بک آپ گیری و ریستور دیتابیس MySQL در لینوکس
    نحوه تغییر پسورد Root دیتابیس MySQL یا MariaDB در Linux
    نحوه ریکاوری/ریست پسورد Root در MySQL یا MariaDB در Linux
    نحوه اجرای مستقیم دستورات MySQL در ترمینال لینوکس
    پیدا کردن مسیر فایل های ( my.cnf - http.conf / apache2.conf - php.ini ) در لینوکس
    فعال کردن قابلیت Auto completion و Syntax highlighting در MySQL/MariaDB
    تغییر مسیر Defualt ذخیره دیتای MySQL در لینوکس
    نکات حیاتی کلاستر کردن دیتابیس MySQL
    15 نکته مفید برای بهینه سازی و بهبود عملکرد دیتابیس MySQL/MariaDB در Linux
    4 ابزار Commandline برای مانیتور کردن کارایی یا عملکرد دیتابیس MySQL در Linux (به زودی)
    آموزش MySQL (Master-Slave) Replication در RHEL,CentOS,Fedora
    نحوه وصل شدن به MySQL بدون وارد کردن پسورد Root در ترمینال
    نحوه ایجاد، حذف و مدیریت سطوح دسترسی کاربران در MySQL/MariaDB



    برای اطلاع بیشتر می توانید این منبع را مطالعه کنید.

    پیکربندی مای اسکیول :
    فایل my.cnf فایلی پیکربندی MySQL که دررون دایرکتوری etc/ قرار دارد.
    فایل دیگر، فایل Log سرویس mysqld است که در مسیر var/log/ و به نام mysqld.log قرار دارد.
    در پستی (های) مجزا این فایل بررسی می شود.
    نویسنده نامی امیر
    فایل های پیوست شده
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-09-2021, 01:54 PM.

    #2
    ریست کردن یا ریکاوری پسورد روت mysql در ردهت و دبیان (centos,fedora,ubuntu,debian)

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


    با استفاده از مراحل زیر میتوانید این رمز را ریست کنید :
    1) ابتدا با یکی از دستورات زیر سرور MySQL را روی سرورمجازی یا سرور اختصاصی خود STOP کنید .


    نکته : برای استارت کردن سرویس هم کافیست به جای کلمه stop کلمه start رو بذارید.


    Fedora, and RHEL :
    کد PHP:
    service mysqld stop/startor/etc/init.d/mysqld stop 
    Ubuntu or Debian :
    کد PHP:
    service mysql stop/startor/etc/init.d/mysql stop 

    بسته به اینکه سرویس شما به نام mysql یا mysqld نصب شده است با استفاده از یکی از دستورات بالا میتوانید سرویس مای اس کیو ال stop شود.

    2) اجرای سرویس Mysql بدون استفاده از نام کاربری و رمز ورود :
    سرویس mysql را با استفاده از سویئچ زیر در حالت Safe Mode اجرا نمایید :


    کد PHP:
    sudo mysqld_safe --skip-grant-tables 
    یک پنجره جدید باز مکنیم و طبق مرحله سوم بدون پسورد به Mysql لاگین میکنیم.

    3) اتصال به سرویس مای اس کیو ال با یوزر روت :
    کد PHP:
    mysql -u root

    mysql
    > use mysql;
    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
    update user set password=PASSWORD("mynewpassword"where User='root';
    Query OK4 rows affected (0.00 sec)
    Rows matched4  Changed4  Warnings

    EXAM :
    کد PHP:
    mysqlupdate user set password=PASSWORD("123456"where User='root';
    Query OK4 rows affected (0.00 sec)
    Rows matched4  Changed4  Warnings0

    mysql
    flush privileges;
    Query OK0 rows affected (0.00 sec)

    mysqlquit 
    4) سرویس MYSQL را طبق مرحله اول Stop و سپس Start کنید.


    سعی میکنم در آموزش های بعدی به معرفی رابط های کلاینتی mysql بپردازم.
    موفق باشید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 04-12-2016, 11:24 AM.

    کامنت


      #3
      backup گیری از mysql در linux

      برنامه ی mysqldump برای بک آپ گیری از مای اسکیول مورد استفاده قرار میگیرد و sytax آن به شرح زیر می باشد:

      با ساختار زیر میتوانید از یک یا چندین جدول در یک دیتابیس بک آپ بگیرید:
      کد PHP:
      shellmysqldump [optionsdb_name [tbl_name ...] 
      با ساختار زیر میتوانید از یک دیتابیس با تمامی جداولش بک آپ بگیرید:
      کد PHP:
      shellmysqldump [options] --databases db_name ... 
      با ساختار زیر میتوانید از تمامی دیتابیس های موجود در یک mysql بک آپ بگیرید:
      کد PHP:
      shellmysqldump [options] --all-databases 
      چندین مثال با آپشن های مختلف براتون تهیه دیدم که در ادامه توضیح خواهم داد:
      بعضی سایت های بزرگ که سرور اختصاصی مثل vps دارند و میخوان فقط از دیتابیس سایت شون بک آپ بگیرند ابتدا از طریق ssh به سرور وصل شده و دستور زیر را وارد نمایید:
      کد PHP:
      mysqldump --opt --u dbusername -p databasename backupname.sql 
      نکته: آپشن opt-- ترکیبی از آپشن های زیر میباشد:
      کد PHP:
      --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset 
      این گزینه در حقیقت یک فایل dump (فایل بک آپ) را از سرور mysql خیلی سریع گرفته و همچنین این فایل به سرعت روی سرور بک آپ جدید قابل load هست.

      آپشن Q- در حقیقت نمایشگر qoute (کوتیشن) میباشد که برای نام دیتابیس جدول ستون درون کاراکترهای “`” مورد استفاده قرار میگیرد.
      آپشن u- و p- برای گرفتن user و password دیتابیس میباشد.

      و اگر قصد دارید در پوشه خاصی ذخیره کنید دستور زیر را وارد نمایید:
      کد PHP:
      mysqldump --opt --u dbusername -p databasename > /path/to/backupname.sql 

      روش backup گرفتن از دیتابیس mysql در لینوکس:

      برای بک آپ گیری از مای اسکیول سروری که روی اینترنت هست هم از این دستور میتوانید استفاده کنید:
      کد PHP:
       mysqldump -h 192.168.1.10 -u root -p123456 dbname tablename  linux-zone.sql 
      آپشن h- برای گرفتن ip host میباشد.

      برای backup گرفتن از mysql که در شبکه لوکال تون وجود داره از این دستور استفاده کنید:
      کد PHP:
       mysqldump -u root -p123456 dbname tablename1 tablename2 tablename3  linux-zone.sql 
      اگر چندین table دارید میتونید همانند مثال بالا نام تیبل ها رو پشت سر هم بنویسید.

      روش Restor کردن بک آپ mysql در لینوکس:

      برای Restor کردن Backup مای اسکیول سروری که روی اینترنت هست هم میتوانید از این دستور استفاده کنید:
      کد PHP:
       mysql -h 192.168.1.10 -u root -p123456 dbname linux-zone.sql 
      برای Restor کردن Backup مای اسکیول سروری که روی شبکه داخلی تون هست از این دستور استفاده کنید:
      کد PHP:
       mysql -u root -p123456 dbname linux-zone.sql 
      معرفی برخی آپشن های پرکاربرد:
      version-- : برای نمایش ورژن mysql
      verbose-- : مد verbose
      port=port_num-- : اگر دیتابیس mysql تون روی پورت خاصی هست میتونید بهش پورت بدین.
      help-- : برای نمایش راهنمای mysql

      دوستانی که میخواهند با آپشن های بیشتر آشنا بشن به لینک زیر در سایت mysql مراجعه کنند:
      http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html
      آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-10-2015, 10:38 PM.

      کامنت

      درباره انجمن منطقه لینوکسی ها

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

      شبکه های اجتماعی

      ایمیل مدیریت

      Habili@linux-zone.org

      در حال انجام ...
      X