دیتا بیس ها میتونن به صورت Standalone باشند یا با هم در ارتباط باشن وقتی با هم در ارتباط باشن میتونن به صورت های MASTER-SLAVE یا MASTER-MASTER باشن در حالت اول روی سرور مستر عملیات خواندن و نوشتن انجام میشه و روی سرورهای SLAVE فقط خواندن انجام میشه در حالت دوم روی هر دوتا سرور عملیات خواندن و نشتن انجام میشه .
صورت مسئله
چون دوتا سرور فیزیکی داریم و این دوتا از طریق SAN Storage به هم وصل نیستن و دوست داریم که Redundancy داشته باشیم از حالت master-master استفاده میکنیم تا وب اپ ها از روی دوتا سرور بتونن روی هر دوتا دیتابیس بنویسند .
برای راه اندازی از دوتا سرور Cent Os 7 و دیتا بیس Maria Db ورژن 10.3 استفاده کردیم.
برای نصب Maria DB روی Cent Os اول باید ریپازیتوری زیر رو اد کنید
/etc/yum.repos.d/MariaDB.repo
بعد محتویات زیر رو بریزید توش
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
بعد هم دستور زیر
yum update
بعد هم دستور
yum install MariaDB-server MariaDB-clien
بعد از نصب دستور زیر رو اجرا کنید و کلمه عبور ست کنید
mysql_secure_installation
و ادامه ماجرا
روی سرور اول
بعد از نصب سرویس mariadb رو استپ کنید (مطمین باشید که استپ هست )
systemctl stop mariadb
بعد به مسیر زیر برید و فایل my.cnf رو ویرایش کنید .
تقریبا تمام مراحلی رو که در سرور 1 اجرا کردیم در این سرور هم اجرا میکنیم با یه تفاوت های کوچیک اولیش تغییرات داخل این فایله (بقیه مراحل عیناً مثل سرور1 اجرا میشه )
قابل توجه اینکه روی سرور اول باید بتونید master2 رو پینگ کنید و روی سرور دوم بتونید master1 رو پینگ کنید اگر به هر دلیلی نمیتونید و نمیخواید میتونید آی پی ست کنید .
خوب حالا دستور زیر رو توی سرور دوم اجرا میکنیم (بعدش با کمی تغییر توی سرور اول )
MariaDB [(none)]> STOP SLAVE;
MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='master1', MASTER_USER='replusr', MASTER_PASSWORD='replusr', MASTER_LOG_FILE='mariadb-bin.000009', MASTER_LOG_POS=;
MariaDB [(none)]> START SLAVE;
توی متن بالا
مقدار master1 = اسم سرور اول
مقدار mariadb-bin.000009 = اسم فایلی که با دستور show master status; به دست آوردیم
مقدار 634 = پوزیشنی که با دستور show master status; به دست آوردیم
برای بررسی دستور زیر رو میزنیم
MariaDB [(none)]> SHOW SLAVE STATUS\G
نتیجه باید همچین چیزی بشه اگر ارور یا موردی دیدید باید دلیلش رو بررسی کنید
سلام ممنون به خاطر مطلب خوبتون . من شبکه کار نیستم برا همین شاید سوالم خیلی ابتدایی باشه . الان تفاوتی نمیکنه که سرور ها در یک دیتاسنتر باشن یا در دیتاسنتر جدا باشن ؟ چطوری باید این رو مشخص کرد ؟ چون در مراحل بالا من ندیدم شما آیپی سرور ست کنید . لطفا اینو یکم راهنمایی کنید یا اگر منبعی دارید که 0 تا 100 این داستان ها رو گفته باشه معرفی کنید ممنون میشم.
سلام ممنون به خاطر مطلب خوبتون . من شبکه کار نیستم برا همین شاید سوالم خیلی ابتدایی باشه . الان تفاوتی نمیکنه که سرور ها در یک دیتاسنتر باشن یا در دیتاسنتر جدا باشن ؟ چطوری باید این رو مشخص کرد ؟ چون در مراحل بالا من ندیدم شما آیپی سرور ست کنید . لطفا اینو یکم راهنمایی کنید یا اگر منبعی دارید که 0 تا 100 این داستان ها رو گفته باشه معرفی کنید ممنون میشم.
الان تفاوتی نمیکنه که سرور ها در یک دیتاسنتر باشن یا در دیتاسنتر جدا باشن ؟ چطوری باید این رو مشخص کرد ؟ چون در مراحل بالا من ندیدم شما آیپی سرور ست کنید . لطفا اینو یکم راهنمایی کنید یا اگر منبعی دارید که 0 تا 100 این داستان ها رو گفته باشه معرفی کنید ممنون میشم.