Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Samodzielny serwer MySQL

W niektórych rodzajach wdrożeń, szczególnie gdy rozbudowane aplikacje dynamiczne opierają się na dużej bazie danych, oddzielenie serwera bazy danych od serwera aplikacji może pozwolić aplikacji na skalowanie i obsługę znacznie większej bazy użytkowników. Wyznaczenie oddzielnego serwera, który będzie używany wyłącznie przez MySQL, pozwoli serwerowi WWW aplikacji na wydajniejsze dostarczanie treści, podczas gdy serwer bazy danych będzie w stanie szybciej reagować.

W rezultacie te serwery baz danych mogą skuteczniej obsługiwać wdrożenia o dużym obciążeniu ruchem. Może to pomóc w osiągnięciu wyższej wydajności dla szeregu aplikacji, od popularnych pakietów, takich jak WordPress i Drupal, po niestandardowe aplikacje napisane w Ruby on Rails i Django.

Wymagania wstępne

W tym przewodniku będziemy używać dwóch Linodów. Zauważ, że różni się to od zwykłego wdrożenia drugiego profilu konfiguracyjnego na istniejącym koncie Linode, ponieważ oba serwery będą musiały działać w tym samym czasie. Zakładamy, że postępowałeś zgodnie z przewodnikiem Konfigurowanie i zabezpieczanie instancji obliczeniowej dla obu Linodów.

  • Dla Linode z uruchomionym serwerem sieciowym, odtąd serwerem aplikacji, powinieneś już mieć zainstalowany Apache (lub preferowany serwer sieciowy). Aby zainstalować nową, postępuj zgodnie z przewodnikiem LAMP dla swojej dystrybucji. Przewodnik po LAMP zawiera MySQL, którego nie musisz instalować.
  • Dedykowany MySQL Linode powinien mieć zainstalowany MySQL. Postępuj zgodnie z instrukcją instalacji serwera bazy danych MySQL dla swojej dystrybucji. Pamiętaj, że nie musisz instalować Apache na dedykowanym serwerze MySQL.

Ponadto będziesz chciał skonfigurować aliasy dla prywatnego adresu IP każdego Linode. Aby uzyskać pomoc, możesz skorzystać z przewodnika po konfiguracji statycznego adresu IP systemu Linux. Ważne jest, aby pamiętać, że oba Linody powinny znajdować się w tym samym centrum danych do pracy w sieci prywatnej. Dzięki temu serwery mogą komunikować się bez wliczania ruchu w miesięczny limit przepustowości. Po skonfigurowaniu prywatnych adresów IP konieczne jest ponowne uruchomienie obu Linodes.

Edytuj /etc/hosts

Będziesz chciał utworzyć nazwy hostów dla każdego komputera, aby móc je później śledzić. Oszczędza to również pracę, jeśli znajdziesz się w sytuacji, w której musisz zmienić adres IP serwera. Edytuj /etc/hosts plik zawierający prywatny Adresy IP każdego Linode. Użyj następującego fragmentu przykładu /etc/hosts plik jako przykład:

Plik:/ etc/hosty
1
> 127.0.0.1 localhost 192.168.192.168 mysql.example.com mysql 192.168.192.169 app.example.com app

Pamiętaj o zastąpieniu 192.168.192.168 i 192.168.192.169 z rzeczywistymi prywatnymi adresami IP.

Chociaż ten krok jest opcjonalny, konfigurowanie hosts wpisy pozwolą Ci uniknąć zakodowania na stałe konfiguracji aplikacji na określone adresy IP. Będziesz mógł szybko przenieść swoje aplikacje i serwery baz danych na alternatywne serwery, jeśli kiedykolwiek będziesz musiał zmienić swoje adresy IP.

Konfiguracja serwera MySQL

Następnym krokiem jest zmodyfikowanie /etc/mysql/my.cnf na twoim serwerze MySQL, aby nasłuchiwać na twoim prywatnym adresie IP. Używając swojego ulubionego edytora, otwórz /etc/mysql/my.cnf pliku i wstaw nazwę hosta bazy danych MySQL. W tym przykładzie nazwa hosta bazy danych MySQL to mysql . Znajdź bind-address linia:

Plik:/ etc/mysql/my.cnf
1
bind-address = mysql

Alternatywnie możesz użyć prywatnego adresu IP. Zapisz plik i uruchom następujące polecenie, aby ponownie uruchomić demona MySQL:

/etc/init.d/mysql restart

Przyznawanie dostępu do bazy danych

Na dedykowanym serwerze bazy danych będziesz musiał utworzyć nazwę użytkownika i hasło do bazy danych z prawami dostępu. Jest to możliwe dzięki znakowi zachęty MySQL. Wydaj następujące polecenie:

mysql -u root -p

Zapewni to wiersz poleceń MySQL. Wydaj następujące polecenia, zastępując app z nazwą hosta Linode z uruchomionym serwerem aplikacji i silnym hasłem zamiast „PASSWORD”:

CREATE DATABASE webapplications;

GRANT ALL ON webapplications.* TO [email protected]'app' IDENTIFIED BY 'PASSWORD';

Na tym etapie Twoja aplikacja może pomyślnie uzyskać dostęp do zdalnej bazy danych i możesz zacząć korzystać z serwera bazy danych.

Korzystanie z serwera bazy danych

Od tego momentu wszystko jest skonfigurowane, a serwer bazy danych jest gotowy do przyjęcia połączenia z serwera WWW. Teraz powinieneś być w stanie skierować swoją aplikację na serwer MySQL bez żadnych incydentów. Należy pamiętać, że podczas konfigurowania aplikacji internetowych do pracy ze zdalnym serwerem MySQL należy utworzyć użytkownika z uprawnieniami do zdalnego systemu (jak pokazano powyżej).

Używanie MySQL na oddzielnym serwerze bazy danych jest bardzo podobne do uruchamiania lokalnego serwera bazy danych. Zazwyczaj aplikacje wymagają określenia „nazwy hosta bazy danych”, a serwery baz danych działające na komputerze lokalnym mają nazwę hosta localhost . Kiedy oddzielasz serwery bazy danych i aplikacji, musisz podać w aplikacji nazwę hosta, jak określono powyżej.

Na przykład ustawienia bazy danych w programie WordPress są zawarte w pliku wp-config.php plik, a nazwa hosta jest określona w następującym formacie:

Plik:wp -config.php
1
2
/** MySQL hostname */
define('DB_HOST', 'mysql');

Zauważ, że metoda ustawiania nazwy hosta różni się w zależności od aplikacji. Ponadto możesz zastąpić konkretny adres IP serwera bazy danych, zamiast używać nazwy hosta skonfigurowanej w /etc/hosts powyżej.

Rozważ również odwołanie się do zewnętrznej witryny MySQL w celu uzyskania zapytań dotyczących MySQL i powiązanej pomocy.

Więcej informacji

Dodatkowe informacje na ten temat można znaleźć w poniższych zasobach. Chociaż są one dostarczane w nadziei, że będą przydatne, należy pamiętać, że nie możemy ręczyć za dokładność ani aktualność materiałów hostowanych zewnętrznie.

  • Przewodniki po aplikacjach internetowych
  • Struktury aplikacji internetowych
  • Systemy zarządzania bazami danych

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę przyspieszyć zapytanie MySQL z dużym przesunięciem w klauzuli LIMIT?

  2. Jak zresetować hasło roota MySQL

  3. Wprowadzenie do typów danych SQL

  4. Jak przekonwertować IPv6 z binarnego do przechowywania w MySQL?

  5. Replikacja MySQL i przełączanie awaryjne oparte na GTID — szczegółowe informacje o błędnych transakcjach