مقدمه
ProxySQL یک t آگاه به SQL است که می تواند بین برنامه شما و پایگاه داده شما قرار بگیرد. این نرم افزار بسیاری از ویژگی ها ، مانند تعادل بار بین چندین سرور مجازی MySQL را ارائه میدهد و به عنوان یک لایه حافظه پنهان برای درخواست ها عمل میکند. در این آموزش به ویژگی دخیره سازی ProxySQL و نحوه بهینه سازی درخواست ها برای پایگاه داده MySQL شما پرداخته می شود.
ذخیره سازی MySQL زمانی اتفاق می افتد که نتیجه یک درخواست به گونه ای ذخیره می شود که هنگامی که آن درخواست تکرار میگردد ، بدون نیاز به مرتب سازی در پایگاه داده ، نتیجه می تواند برگردانده شود. این ویژگی می تواند سرعت درخواست های معمول را به میزان قابل توجهی افزایش دهد. اما در بسیاری از روش های ذخیره سازی ، توسعه دهندگان باید کد برنامه خود را اصلاح کنند ، که می تواند یک اشکال را در پایگاه داده وارد کند. برای جلوگیری از این عمل مستعد خطا ،ProxySQL به شما امکان می دهد یک ذخیره سازی شفاف را انجام دهید.
در ذخیره سازی شفاف ، فقط ادمین های دیتابیس باید جهت فعال کردن حافظه پنهان برای متداول ترین درخواست ها ، پیکربندی ProxySQL را تغییر دهند و این تغییرات می تواند از طریق رابط ادمین ProxySQL انجام شود. همه کاری که توسعه دهنده باید انجام دهد اتصال به پروکسی آگاه به پروتکل است ، و پروکسی تصمیم می گیرد که آیا درخواستی را می توان از حافظه نهان بدون ضربه زدن به سرور مجازی back-end ارائه داد یا خیر.
در این آموزش از ProxySQL برای تنظیم ذخیره سازی شفاف برای سرور مجازی MySQL در اوبونتو 16.04 استفاده خواهید کرد. سپس می توانید عملکرد آن را با استفاده از mysqlslap با و بدون حافظه پنهان آزمایش کنید تا تأثیر حافظه پنهان و مدت زمان صرفه جویی در هنگام اجرای بسیاری از سؤالات مشابه را نشان دهید.
پیش نیازها
قبل از شروع این راهنما به موارد زیر نیاز خواهید داشت:
• یک سرور مجازی Ubuntu 16.04 با حداقل 2 گیگابایت رم ، با یک کاربر غیر ریشه با امتیازات sudo و فایروال تنظیم شده است ، همانطور که در راهنمای راه اندازی سرور مجازی اولیه Ubuntu 16.04 ما گفته شده است.
مرحله 1 – نصب و تنظیم سرور مجازی MySQL
ابتدا ، سرور مجازی MySQL را نصب کرده و پیکربندی می کنید تا توسط ProxySQL به عنوان یک سرور مجازی back-end برای ارائه خدمات به درخواست های کلاینت استفاده شود.
در Ubuntu 16.04 ، سرور مجازی mysql با استفاده از این دستور قابل نصب است:
$ sudo apt-get install mysql-server

Y را فشار دهید تا نصب را تأیید کنید.
سپس از شما رمزعبور کاربر روت MySQL خواسته می شود. یک رمزعبور قوی وارد کنید و آن را برای استفاده بعدی ذخیره کنید.
اکنون که سرور مجازی MySQL خود را آماده کرده اید ، آن را پیکربندی می کنید تا ProxySQL به درستی کار کند. برای نظارت بر سرور مجازی MySQL ، باید یک کاربر مانیتور برای ProxySQL اضافه کنید ، زیرا ProxySQL به جای استفاده از اتصال TCP یا درخواست های HTTP GET ، به سرور مجازی پشتیبان از طریق پروتکل SQL گوش می دهد تا مطمئن شود که backend  در حال اجرا است. مانیتور از یک اتصال SQL ساختگی (مجازی) برای تعیین اینکه سرور مجازی در حال کار است یا خیر استفاده می کند.
ابتدا وارد پوسته MySQL شوید:
$ mysql -uroot -p
-uroot با استفاده از کاربر روت MySQL شما را وارد می کند و –p رمزعبور کاربر root را می خواهد. این کاربر روت با کاربر اصلی سرور مجازی شما متفاوت است و رمز عبور چیزی است که هنگام نصب بسته mysql-server وارد کرده اید.
رمز عبور اصلی را وارد کنید و ENTER را فشار دهید.
اکنون شما دو کاربر ایجاد خواهید کرد ، یکی به نام مانیتور برای ProxySQL و دیگری که برای اجرای درخواست های مربوط به کلاینت و ارائه امتیازات مناسب به آنها استفاده میکنید. این آموزش نام این کاربر را Sammy خواهد گذاشت.
کاربر مانیتور را ایجاد کنید:
Mysql> CREATE USER ‘monitor’@’%’ IDENTIFIED BY ‘monitor_password’;

عبارت CREATE USER برای ایجاد یک کاربر جدید استفاده می شود که می تواند از IP های خاص متصل شود. استفاده از٪ نشانگر اتصال کاربر از هر آدرس IP است. IDENTIFIED BY کلمه عبور را برای کاربر جدید تنظیم می کند. هر پسوردی را که دوست دارید وارد کنید ، اما حتماً آن را برای استفاده های بعدی به خاطر بسپارید.
پس از ایجاد مانیتور کاربر ، کاربر sammy را ایجاد کنید:
Mysql> CREATE USER ‘sammy’@’%’ IDENTIFIED BY ‘sammy_password’;

در مرحله بعدی ، به کاربران جدید خود امتیاز دهید. برای پیکربندی مانیتور دستور زیر را اجرا کنید:
Mysql> GRANT SELECT ON sys.* TO ‘monitor’@’%’;

از درخواست GRANT برای دادن امتیاز به کاربران استفاده می شود. در اینجا فقط SELECT را در تمام جداول موجود در پایگاه داده sys به کاربر مانیتور اعطا می کنید. فقط به این امتیاز نیاز دارد تا به سرور مجازی back-end گوش دهد.
اکنون تمام امتیازات را به کلیه بانکهای اطلاعاتی به کاربر sammy اعطا کنید:
Mysql> GRANT ALL PRIVILEGES on *.* TO ‘sammy’@’%’;

با این کار sammy می تواند برای تست دیتابیس شما سؤالات لازم را ایجاد کند.
با اجرای دستور زیر تغییرات امتیاز را اعمال کنید:
Mysql> FLUSH PRIVILEGES;

در آخر ، از پوسته mysql خارج شوید:
Mysql> exit;

 

نتیجه
در این مقاله ، حافظه نهان شفاف را با ProxySQL تنظیم کردید تا بتواند نتایج درخواست از پایگاه داده را ذخیره کند. شما همچنین سرعت درخواست را با و بدون حافظه پنهان آزمایش کرده اید تا تفاوتی بین caching ایجاد کنید.
در این آموزش از یک سطح حافظه پنهان استفاده کرده اید. همچنین می توانید حافظه نهان وب را که جلوی یک وب سرور مجازی قرار دارد و پاسخ به درخواست های مشابه را ذخیره می کند ، امتحان کنید ، بدون اینکه به سرور مجازی های پشتیبان ضربه بزنید ، پاسخ را به کلاینت ارسال می کنید. این بسیار شبیه به ذخیره سازی ProxySQL است اما در سطح متفاوتی است. برای کسب اطلاعات بیشتر در مورد حافظه پنهان در وب ، اصول اولیه Caching Web خود را بررسی کنید: اصطلاحات ، هدرهای HTTP ، و مقدمات برنامه Caching Strategies.
سرور مجازی MySQL همچنین حافظه پنهان درخواست خود را دارد. می توانید در مورد آموزش بهینه سازی MySQL با Query Cache در اوبونتو 18.04 اطلاعات بیشتری در مورد آن کسب کنید.

 

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

راه اندازی اولیه سرور با CentOS 8   –  تهیه نسخه پشتیبان و بازیابی یک خوشه Kubernetes

نحوه تنظیم کلیدهای SSH در CentOS 8   –  نحوه نصب و استفاده از PostgreSQL در CentOS 7

نحوه ساختن یک برنامه Node.js با Docker [Quickstart]   –  چگونه می توان پلتفرم Eclipse Theia Cloud IDE را روی اوبونتو

چگونه می توان هاست های مجازی Apache را در اوبونتو  –   مدیریت DNS با استفاده از DNSControl در Debian 10

نحوه تایید صحت رمز عبور با Apache در اوبونتو 18.04    –  چگونه می توان پلتفرم Cloud IDE کد سرور را روی CentOS 7

نحوه نصب و استفاده از TimescaleDB در CentOS 7   –  نحوه نصب Apache Kafka در Debian 10

نحوه تایید صحت رمز عبور با Apache در اوبونتو 18.04 –  نحوه نصب وردپرس با OpenLiteSpeed ​​در اوبونتو 18.04

استفاده از Cron برای خودکارسازی کارها در اوبونتو 18  –

نصب و استفاده ازRadamsa برای فوز کردن برنامه ها روی Ubuntu 18 –

نحوه راه اندازی Eclipse Theia Cloud IDE Platform در Debian 10  –

نحوه نصب Docker Compose در Debian 10 –

چگونه می توان با کتابخانه (library) درخواست ها در پایتون شروع به کار کرد –

نحوه اجرای صفحه گذاری در MySQL با PHP روی اوبونتو 18.04 –

نحوه تنظیم پلتفرم Eclipse Theia Cloud IDE در CentOS 7  –

بسته بندی برنامه Laravel 6 برای توسعه با Docker Compose در اوبونتو 18  –

بهینه سازی درخواست های MySQL با ذخیره سازی ProxySQL در اوبونتو 16 –

استفاده از Ansible برای نصب و راه اندازی وردپرس با LAMP در اوبونتو 18 –

چگونه می توان پلتفرم کد سرور Cloud IDE را در اوبونتو 18.04 –

چگونه می توان از رول های ansible برای انتزاع محیط زیرساختی –

نحوه پیکربندی یک خوشه Galera با MySQL در سرورهای اوبونتو 18 –

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا