Co byś zrobił, gdybyś miał jeden serwer i wiele witryn na tym serwerze i chciałbyś połączyć wszystkie strony z jedną bazą danych MySQL na serwerze?
Wiem, że zmniejsza to bezpieczeństwo, ale chcę wiedzieć, jak to zrobić? A jeśli nie jest to możliwe lub trudne w MySQL, czy jest to możliwe w Nginx?
mysql
database
sql-server
Alexander Jones
źródło
źródło
s1_table1
,s1_table2
i na stronie 2s2_table
i 3 miejscus3_table1
,s3_table2
itpOdpowiedzi:
jeśli chcesz połączyć wiele stron internetowych z jedną bazą danych, musisz zmusić strony internetowe do ustawienia
prefix
ich tabel, podobnie jakWordpress
. niektóre panele kontrolneCPanel
mają tę opcję i możesz jej użyć.źródło
Mówiąc „jeden serwer”, masz na myśli jedną bazę danych lub jeden serwer bazy danych.
Zakładając, że masz jeden serwer zawierający serwer bazy danych, możesz mieć wiele baz danych na tym serwerze. Nie ma zagrożenia bezpieczeństwa dzięki temu każda witryna miałaby własne hasło do własnej bazy danych. W wielu przypadkach zaleca się oddzielenie serwera bazy danych od serwera WWW ze względu na problemy z wydajnością.
Jeśli masz na myśli jedną bazę danych i ponowne połączenie dwóch stron internetowych z tą samą bazą danych, jest to również wykonalne. To, co widziałem w przeszłości, to. Poprzedzasz tabele ws1_table jeden i ws2_table dwa. Nie znam się dobrze na MySql, ale w niektórych systemach baz danych możesz tworzyć użytkowników i dawać im dostęp tylko do niektórych tabel. Możesz utworzyć użytkownika, który ma dostęp tylko do tabel ws1_, a inny z dostępem tylko do tabel ws2_, zapewni to, że nie będą oni mieli dostępu do danych innych użytkowników.
źródło