W naszym ostatnim artykule The Story Behind Acquisition of „MySQL” and the Rise of „MariaDB” został wysoko oceniony. W tym artykule omówiliśmy już potrzebę rozwidlenia MySQL, powstanie MariaDB, jego cechy, studium porównawcze MariaDB i MySQL, przejście niektórych renomowanych korporacji i firm na świecie (Google, Wikipedia) z MySQL do MariaDB i wiele innych aspektów technicznych i nietechnicznych.
Tutaj zamierzamy zainstalować MariaDB 10.1 na Debianie Jessie (testowanie) i będzie go testować, tworząc małe tabele i uruchamiając kilka zapytań w procesie uczenia się i rozumienia.
Zainstaluj MariaDB 10.1 na Debianie Jessie
W systemach Debian zdecydowanie zaleca się zainstalowanie „właściwości oprogramowania Pythona „, przed przejściem do instalacji MariaDB z oficjalnych repozytoriów.
# apt-get install python-software-properties
Następnie zaimportuj i zarejestruj klucz GPG, co umożliwia apt aby zweryfikować integralność pobieranego oprogramowania.
# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
Teraz dodaj następujące oficjalne repozytorium MariaDB do pliku sources.list, używając następującego polecenia.
# add-apt-repository 'deb http://mariadb.biz.net.id//repo/10.1/debian sid main'
Jeśli dodanie repozytorium wygeneruje błąd, taki jak „add-apt-repository:polecenie nie zostało znalezione ”, musisz zainstalować „wspólne właściwości oprogramowania”, jak pokazano poniżej.
# apt-get install software-properties-common
Zaktualizuj listę dostępnych pakietów w systemie.
# apt-get update
Na koniec zainstaluj serwer i klient MariaDB, używając następujących poleceń.
# apt-get install mariadb-server mariadb-client
Jeśli instalacja przebiegnie bezproblemowo, sprawdź wersję zainstalowanej MariaDB.
# mysql -V mysql Ver 15.1 Distrib 5.5.38-MariaDB, for debian-linux-gnu (x86_64) using readline 5.1
Zaloguj się do MariaDB przy użyciu roota (niezalecane), a następnie hasła.
$ mysql -u root -p
Przykładowe wyjście
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 28 Server version: 5.5.38-MariaDB-1 (Debian) Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
UWAGA :„Brak” powyżej oznacza, że obecnie nie wybrano żadnej bazy danych.
Wykonywanie różnych zapytań MariaDB
Jak utworzyć użytkownika w MariaDB. Użyj następującej składni, aby utworzyć użytkownika w MariaDB.
CREATE USER 'USER_NAME' IDENTIFIED BY 'PASSWORD';
Na przykład, aby utworzyć użytkownika „sam ‘ z hasłem ‘sam123 ‘, musimy wykonać.
MariaDB [(none)]> CREATE USER 'sam' IDENTIFIED BY 'sam123'; Query OK, 0 rows affected (0.00 sec)
Teraz wyjdź MariaDB i zaloguj się przy użyciu użytkownika sam .
$ mysql -u 'sam' -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 36 Server version: 5.5.38-MariaDB-1 (Debian) Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
Usuń/upuść użytkownika MySQL „sam”.
MariaDB [(none)]> DROP USER sam; Query OK, 0 rows affected (0.00 sec)
Zobacz całą dostępną bazę danych.
MariaDB [(none)]> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 3 rows in set (0.04 sec)
UWAGA :Wszystkie powyższe bazy danych są używane wewnętrznie przez MariaDB. Nie edytuj tych baz danych, chyba że wiesz, co robisz.
Wybierz bazę danych z listy (konieczne do uruchomienia zapytań).
MariaDB [(none)]> USE mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [mysql]>
Pokaż wszystkie tabele w bazie danych.
MariaDB [mysql]> SHOW TABLES; | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | event | | func | | general_log | | help_category | | help_keyword | | help_relation | | help_topic | ..... 24 rows in set (0.00 sec)
Zobacz wszystkie kolumny z tabeli mówią „użytkownik” z bazy danych „mysql”. Użyj jednego z dwóch zapytań.
SHOW COLUMNS FROM user; or DESCRIBE user;
Wyniki obu zapytań są takie same.
MariaDB [mysql]> describe user; +------------------------+-----------------------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------------+-----------------------------------+------+-----+---------+-------+ | Host | char(60) | NO | PRI | | | | User | char(16) | NO | PRI | | | | Password | char(41) | NO | | | | | Select_priv | enum('N','Y') | NO | | N | | | Insert_priv | enum('N','Y') | NO | | N | | | Update_priv | enum('N','Y') | NO | | N | | | Delete_priv | enum('N','Y') | NO | | N | | | Create_priv | enum('N','Y') | NO | | N | | | Drop_priv | enum('N','Y') | NO | | N | | ....... 42 rows in set (0.01 sec)
Zobacz obszerne informacje o stanie serwera MariaDB.
MariaDB [mysql]> SHOW STATUS; +------------------------------------------+----------------------+ | Variable_name | Value | +------------------------------------------+----------------------+ | Aborted_clients | 0 | | Aborted_connects | 0 | | Access_denied_errors | 0 | | Aria_pagecache_blocks_not_flushed | 0 | | Aria_pagecache_blocks_unused | 15737 | | Aria_pagecache_blocks_used | 2 | | Aria_pagecache_read_requests | 176 | | Aria_pagecache_reads | 4 | | Aria_pagecache_write_requests | 8 | .... 419 rows in set (0.00 sec)
Zobacz instrukcję MariaDB, która została użyta do utworzenia bazy danych, powiedz „mysql”.
MariaDB [mysql]> SHOW CREATE DATABASE mysql; +----------+------------------------------------------------------------------+ | Database | Create Database | +----------+------------------------------------------------------------------+ | mysql | CREATE DATABASE `mysql` /*!40100 DEFAULT CHARACTER SET latin1 */ | +----------+------------------------------------------------------------------+ 1 row in set (0.00 sec)
Zobacz instrukcję MariaDB, która została użyta do utworzenia tabeli, powiedz „użytkownik”.
MariaDB [mysql]> SHOW CREATE TABLE user; + | Table | Create Table +------- | user | CREATE TABLE `user` ( `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '', `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '', `Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '', `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', ....
Zobacz prawa bezpieczeństwa przyznane każdemu użytkownikowi MariaDB.
MariaDB [mysql]> SHOW GRANTS; +----------------------------------------------------------------------------------------------------------------------------------------+ | Grants for [email protected] | +----------------------------------------------------------------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*698vsgfkemhvjh7txyD863DFF63A6bdfj8349659232234bs3bk5DC1412A' WITH GRANT OPTION | | GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION | +----------------------------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec)
Zobacz OSTRZEŻENIA serwera MariaDB.
MariaDB [mysql]> SHOW WARNINGS; +--------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Level | Code |Message | +-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Error | 1064 | You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ON mysql' at line 1 | +-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
Zobacz Błędy usługi MariaDB.
MariaDB [mysql]> SHOW ERRORS; +-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Level | Code | Message | +-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Error | 1064 | You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ON mysql' at line 1 | +-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
To wszystko na teraz. „POKAŻ „Oświadczenie ma wiele funkcji, które omówimy w przyszłym artykule wraz z innymi zapytaniami, które należy uruchomić w MariaDB, aby uzyskać pożądany wynik. Do tego czasu bądźcie na bieżąco i łączcie się z Tecmintem. Nie zapomnij przekazać nam swojej cennej opinii w sekcji komentarzy poniżej.