MySQL: Różnice pomiędzy wersjami
m (25 wersji) |
Kacperinjo (dyskusja | edycje) (→Łączenie się do bazy spoza MyDevil) |
||
(Nie pokazano 12 wersji utworzonych przez 3 użytkowników) | |||
Linia 7: | Linia 7: | ||
Po zalogowaniu się do [[DevilWEB|panelu administracyjnego]] zarządzanie bazami MySQL znajduje się w zakładce ''Bazy MySQL''. Po kliknięciu pokazuje się lista baz danych. | Po zalogowaniu się do [[DevilWEB|panelu administracyjnego]] zarządzanie bazami MySQL znajduje się w zakładce ''Bazy MySQL''. Po kliknięciu pokazuje się lista baz danych. | ||
− | [[Plik:mysql | + | [[Plik:Bazy mysql lista baz.png|1170px]] |
==== Zarządzanie bazą ==== | ==== Zarządzanie bazą ==== | ||
Linia 13: | Linia 13: | ||
Aby zmienić uprawnienia dostępu do bazy należy kliknąć przycisk ''Zarządzaj'' i następnie ''zarządzaj uprawnieniami''. | Aby zmienić uprawnienia dostępu do bazy należy kliknąć przycisk ''Zarządzaj'' i następnie ''zarządzaj uprawnieniami''. | ||
− | [[Plik:mysql | + | [[Plik:Bazy mysql zarzadzanie.png|1170px]] |
Można modyfikować uprawnienia dla wszystkich hostów użytkownika wybierając niebieski przycisk, lub wybrać konkretny host. | Można modyfikować uprawnienia dla wszystkich hostów użytkownika wybierając niebieski przycisk, lub wybrać konkretny host. | ||
− | [[Plik:mysql | + | [[Plik:Bazy mysql uprawnienia.png|1170px]] |
Aby dodać uprawnienia do bazy danych użytkownikowi należy kliknąć ''+Dodaj uprawnienia''. | Aby dodać uprawnienia do bazy danych użytkownikowi należy kliknąć ''+Dodaj uprawnienia''. | ||
− | |||
− | |||
==== Dodanie bazy danych ==== | ==== Dodanie bazy danych ==== | ||
Linia 30: | Linia 28: | ||
* opcjonalnie metodą porównywania znaków (po rozwinięciu opcji zaawansowane ustawienia). | * opcjonalnie metodą porównywania znaków (po rozwinięciu opcji zaawansowane ustawienia). | ||
− | [[Plik:mysql | + | [[Plik:Bazy mysql dodaj baze.png|1170px]] |
==== Lista użytkoników ==== | ==== Lista użytkoników ==== | ||
Linia 36: | Linia 34: | ||
Aby wyświetlić listę użytkowników należy kliknąć ''Użytkownicy''. Przy dodanych użytkownikach jest możliwość edycji hostów z których możliwe jest logowanie oraz możliwość zmiany hasła. | Aby wyświetlić listę użytkowników należy kliknąć ''Użytkownicy''. Przy dodanych użytkownikach jest możliwość edycji hostów z których możliwe jest logowanie oraz możliwość zmiany hasła. | ||
− | [[Plik:mysql | + | [[Plik:Bazy mysql uzytkownicy.png|1170px]] |
==== Dodanie użytkownika ==== | ==== Dodanie użytkownika ==== | ||
Linia 42: | Linia 40: | ||
Aby dodać nowego użytkownika należy kliknąć ''+ Dodaj użytkonika''. Po załadowaniu się strony trzeba wybrać nazwę i hasło. | Aby dodać nowego użytkownika należy kliknąć ''+ Dodaj użytkonika''. Po załadowaniu się strony trzeba wybrać nazwę i hasło. | ||
− | [[Plik:mysql | + | [[Plik:Bazy mysql dodaj uzytkownika.png|1170px]] |
− | ==== Łączenie się do bazy | + | ==== Łączenie się do bazy z zewnętrznego hosta ==== |
{{Notice|Pole host może zostać wypełnione adresem IP (np. <code>10.10.10.1</code>) lub znakiem <code>%</code>, który oznacza dowolny adres IP.}} | {{Notice|Pole host może zostać wypełnione adresem IP (np. <code>10.10.10.1</code>) lub znakiem <code>%</code>, który oznacza dowolny adres IP.}} | ||
− | Aby połączyć się do bazy danych | + | Aby połączyć się do bazy danych z zewnętrznego hosta należy: |
# Kliknąć ''Zarządzaj hostami'' na liście użytkowników przy wybranym użytkowniku. | # Kliknąć ''Zarządzaj hostami'' na liście użytkowników przy wybranym użytkowniku. | ||
# Kliknąć ''+ Dodaj dostęp z nowego adresu''. | # Kliknąć ''+ Dodaj dostęp z nowego adresu''. | ||
Linia 75: | Linia 73: | ||
==== Zmiana hasła użytkownika ==== | ==== Zmiana hasła użytkownika ==== | ||
− | Zmiana hasła odbywa się poleceniem <code>devil mysql | + | Zmiana hasła odbywa się poleceniem <code>devil mysql passwd ''login''</code>. |
==== Uprawnienia użytkowników ==== | ==== Uprawnienia użytkowników ==== | ||
− | Pierwszym etapem nadawania uprawnień użytkownikom jest dodawanie dostępu ze wskazanego adresu. Aby to zrobić należy skorzystać z polecenia <code>devil mysql access ''login''@''host''</code>, gdzie ''login'' to nazwa wcześniej utworzonego użytkownika, a ''host'' to domena, adres IP bądź maska MySQL. Następnie dodanej wcześniej kombinacji ''login@host'' trzeba zmienić uprawnienia korzystając z polecenia <code> | + | Pierwszym etapem nadawania uprawnień użytkownikom jest dodawanie dostępu ze wskazanego adresu. Aby to zrobić należy skorzystać z polecenia <code>devil mysql access add ''login''@''host''</code>, gdzie ''login'' to nazwa wcześniej utworzonego użytkownika, a ''host'' to domena, adres IP bądź maska MySQL. Następnie dodanej wcześniej kombinacji ''login@host'' trzeba zmienić uprawnienia korzystając z polecenia <code>devil mysql privileges ''login[@host] nazwa_bazy uprawnienia''</code>. ''Uprawnienia'' to uprawnienia MySQL, które mają ulec zmianie. Dozwolone są makra <code>+ALL</code> lub <code>-ALL</code>, które ustawiają lub usuwają wszystkie uprawnienia lub można podawać poszczególne uprawnienia, przykładowo <code>-INSERT +SELECT</code>. |
==== Lista baz i użytkowników ==== | ==== Lista baz i użytkowników ==== | ||
Linia 93: | Linia 91: | ||
mysql --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy < mojakopia.sql | mysql --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy < mojakopia.sql | ||
Zrzut bazy danych (UTF-8): | Zrzut bazy danych (UTF-8): | ||
− | mysqldump --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy > mojakopia.sql | + | mysqldump --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy --no-tablespaces > mojakopia.sql |
Zrzut bazy danych razem z procedurami składowymi (UTF-8): | Zrzut bazy danych razem z procedurami składowymi (UTF-8): | ||
− | mysqldump --routines --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy > mojakopia.sql | + | mysqldump --routines --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy --no-tablespaces > mojakopia.sql |
Zrzut bazy danych (Latin1/cp1252/ISO 8859-1): | Zrzut bazy danych (Latin1/cp1252/ISO 8859-1): | ||
− | mysqldump --default-character-set=latin1 --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy > mojakopia.sql | + | mysqldump --default-character-set=latin1 --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy --no-tablespaces > mojakopia.sql |
Zrzut bazy danych (Latin2/ISO 8859-2): | Zrzut bazy danych (Latin2/ISO 8859-2): | ||
− | mysqldump --default-character-set=latin2 --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy > mojakopia.sql | + | mysqldump --default-character-set=latin2 --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy --no-tablespaces > mojakopia.sql |
− | ==== Łączenie się do bazy | + | ==== Łączenie się do bazy z zewnętrznego hosta ==== |
− | Domyślnie host wszystkich użytkowników baz MySQL jest ustawiony na <code>%.devil</code>, co powoduje, że nie można się zalogować do bazy spoza | + | Domyślnie host wszystkich użytkowników baz MySQL jest ustawiony na <code>%.devil</code>, co powoduje, że nie można się zalogować do bazy spoza danego serwera MyDevil. W poniższym przykładzie zostanie dodana możliwość logowania się na użytkownika m1000 z dowolnego adresu ze wszystkimi prawami do bazy m1000_baza. |
# Dozwolone logowanie się z każdego adresu - <code>devil mysql access add m1000@%</code> | # Dozwolone logowanie się z każdego adresu - <code>devil mysql access add m1000@%</code> | ||
# Dodanie wszystkich uprawnień do bazy m1000_baza użytkownikowi m1000 zalogowanemu z dowolnego adresu - <code>devil mysql privileges m1000@% m1000_baza +ALL</code> | # Dodanie wszystkich uprawnień do bazy m1000_baza użytkownikowi m1000 zalogowanemu z dowolnego adresu - <code>devil mysql privileges m1000@% m1000_baza +ALL</code> |
Aktualna wersja na dzień 20:37, 20 gru 2021
MySQL to wolnodostępny system zarządzania relacyjnymi bazami danych. Zarządzanie jest dostępne z panelu administracyjnego, phpMyAdmin i po zalogowaniu poleceniem devil mysql
.
Adres serwera MySQL jest zależny od numeru serwera shell. Dla serwera s0.mydevil.net będzie to adres mysql0.mydevil.net, dla serwera s1.mydevil.net mysql1.mydevil.net, dla serwera s2.mydevil.net mysql2.mydevil.net itd. W przykładach użyto adresu mysqlX.mydevil.net.
Spis treści
DevilWEB
Po zalogowaniu się do panelu administracyjnego zarządzanie bazami MySQL znajduje się w zakładce Bazy MySQL. Po kliknięciu pokazuje się lista baz danych.
Zarządzanie bazą
Aby zmienić uprawnienia dostępu do bazy należy kliknąć przycisk Zarządzaj i następnie zarządzaj uprawnieniami.
Można modyfikować uprawnienia dla wszystkich hostów użytkownika wybierając niebieski przycisk, lub wybrać konkretny host.
Aby dodać uprawnienia do bazy danych użytkownikowi należy kliknąć +Dodaj uprawnienia.
Dodanie bazy danych
Aby dodać nową bazę danych MySQL należy kliknąć + Dodaj bazę. Po załadowaniu się strony trzeba wybrać:
- nazwę bazy,
- nazwę i hasło nowego użytkownika (bądź wybranie istniejącego użytkownika),
- opcjonalnie metodą porównywania znaków (po rozwinięciu opcji zaawansowane ustawienia).
Lista użytkoników
Aby wyświetlić listę użytkowników należy kliknąć Użytkownicy. Przy dodanych użytkownikach jest możliwość edycji hostów z których możliwe jest logowanie oraz możliwość zmiany hasła.
Dodanie użytkownika
Aby dodać nowego użytkownika należy kliknąć + Dodaj użytkonika. Po załadowaniu się strony trzeba wybrać nazwę i hasło.
Łączenie się do bazy z zewnętrznego hosta
Pole host może zostać wypełnione adresem IP (np. 10.10.10.1
) lub znakiem %
, który oznacza dowolny adres IP.
Aby połączyć się do bazy danych z zewnętrznego hosta należy:
- Kliknąć Zarządzaj hostami na liście użytkowników przy wybranym użytkowniku.
- Kliknąć + Dodaj dostęp z nowego adresu.
- Wypełnić pole host i kliknąć + Dodaj.
- Kliknąć Zarządzaj na liście baz danych przy wybranej bazie.
- Kliknąć + Dodaj uprawnienia.
- Wybrać dodany wcześniej host i kliknąć +Dodaj.
Wybrany wcześniej użytkownik ma teraz dostęp do wybranej bazy danych z dowolnego adresu IP.
Devil
Konfiguracja MySQLa jest również możliwa z shella za pomocą modułu devil mysql
.
Dodawanie i usuwanie bazy
Dodawanie bazy danych MySQL odbywa się za pomocą polecenia devil mysql db add nazwa_bazy [login] [--collate=...]
, gdzie argumentami są:
- nazwa_bazy - nazwa bazy danych,
- login - nazwa użytkownika, który zostanie automatycznie utworzony, jeśli istnieje zostaną mu nadane wszystkie uprawnienia do wskazanej bazy,
- --collate= - pozwala wybrać metodę porównywania znaków,
Usuwanie bazy danych MySQL odbywa się za pomocą polecenia devil mysql db del nazwa_bazy
.
Dodawanie i usuwanie użytkowników
Dodawanie użytkownika MySQL odbywa się za pomocą polecenia devil mysql user add login
, gdzie login to jego nazwa. Po jego utworzeniu należy ręcznie ustawić jego uprawnia dla wybranej bazy danych. Aby usunąć użytkownika MySQL należy posłużyć się poleceniem devil myssql user del login
.
Zmiana hasła użytkownika
Zmiana hasła odbywa się poleceniem devil mysql passwd login
.
Uprawnienia użytkowników
Pierwszym etapem nadawania uprawnień użytkownikom jest dodawanie dostępu ze wskazanego adresu. Aby to zrobić należy skorzystać z polecenia devil mysql access add login@host
, gdzie login to nazwa wcześniej utworzonego użytkownika, a host to domena, adres IP bądź maska MySQL. Następnie dodanej wcześniej kombinacji login@host trzeba zmienić uprawnienia korzystając z polecenia devil mysql privileges login[@host] nazwa_bazy uprawnienia
. Uprawnienia to uprawnienia MySQL, które mają ulec zmianie. Dozwolone są makra +ALL
lub -ALL
, które ustawiają lub usuwają wszystkie uprawnienia lub można podawać poszczególne uprawnienia, przykładowo -INSERT +SELECT
.
Lista baz i użytkowników
Aby otrzymać listę wszystkich baz danych i użytkowników należy skorzystać z polecenia devil mysql list [-v]
. Użycie przełącznika -v
dodatkowo pokaże uprawnienia.
Przykłady
Aby połączyć się w trybie tekstowym (zdalnie) do bazy danych należy skorzystać z polecenia mysql -h mysqlX.mydevil.net -u użytkownik_bazy -p
Wszystkie poniższe operacje należy wykonywać po uprzednim zalogowaniu się przez ssh.
Wrzucenie bazy danych (UTF-8):
mysql --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy < mojakopia.sql
Zrzut bazy danych (UTF-8):
mysqldump --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy --no-tablespaces > mojakopia.sql
Zrzut bazy danych razem z procedurami składowymi (UTF-8):
mysqldump --routines --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy --no-tablespaces > mojakopia.sql
Zrzut bazy danych (Latin1/cp1252/ISO 8859-1):
mysqldump --default-character-set=latin1 --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy --no-tablespaces > mojakopia.sql
Zrzut bazy danych (Latin2/ISO 8859-2):
mysqldump --default-character-set=latin2 --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy --no-tablespaces > mojakopia.sql
Łączenie się do bazy z zewnętrznego hosta
Domyślnie host wszystkich użytkowników baz MySQL jest ustawiony na %.devil
, co powoduje, że nie można się zalogować do bazy spoza danego serwera MyDevil. W poniższym przykładzie zostanie dodana możliwość logowania się na użytkownika m1000 z dowolnego adresu ze wszystkimi prawami do bazy m1000_baza.
- Dozwolone logowanie się z każdego adresu -
devil mysql access add m1000@%
- Dodanie wszystkich uprawnień do bazy m1000_baza użytkownikowi m1000 zalogowanemu z dowolnego adresu -
devil mysql privileges m1000@% m1000_baza +ALL