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

Korzystanie z relacyjnych baz danych MySQL w Arch Linux

MySQL to popularny system zarządzania bazami danych, używany jako dostawca przechowywania danych dla tysięcy aplikacji internetowych i serwerowych. Ten przewodnik pomoże początkującym rozpocząć pracę z MySQL w Arch Linux. Jeśli chcesz wdrożyć MySQL jako część stosu aplikacji, zapoznaj się z naszymi przewodnikami LEMP i LAMP.

Konfiguracja systemu

Upewnij się, że Twój /etc/hosts plik zawiera odpowiednie wpisy, podobne do przedstawionych poniżej. Zastąp „12.34.56.78” adresem publicznym Linode, „nazwa serwera” krótką nazwą hosta, a „moja_domena.com” nazwą domeny systemu.

Plik:/ etc/hosty
127.0.0.1 localhost.localdomain localhost
12.34.56.78 servername.mydomain.com servername

Ustaw nazwę hosta swojego systemu, ustawiając HOSTNAME= wartość w /etc/rc.conf plik.

Zainstaluj MySQL

Wydaj następujące polecenia, aby zaktualizować system i zainstalować MySQL:

pacman -Syu
pacman -S mysql

Będziesz chciał dodać mysqld demona do DAEMONS-() tablica na końcu /etc/rc.conf aby upewnić się, że proces mysql rozpocznie się po następnym cyklu ponownego uruchomienia.

Pakiet serwera MySQL zostanie zainstalowany na twoim serwerze wraz z zależnościami i bibliotekami klienta. Uruchom MySQL, uruchamiając następujące polecenie:

/etc/rc.d/mysqld start

Skonfiguruj MySQL

Po zainstalowaniu MySQL zaleca się uruchomienie mysql_secure_installation , program, który pomaga zabezpieczyć MySQL. Podczas uruchamiania mysql_secure_installation , pojawi się możliwość zmiany hasła root MySQL, usunięcia kont anonimowych użytkowników, wyłączenia logowania root poza localhost i usunięcia testowych baz danych. Zaleca się, aby odpowiedzieć twierdząco na te opcje. Jeśli pojawi się monit o ponowne załadowanie tabel uprawnień, wybierz opcję tak. Uruchom następujące polecenie, aby uruchomić program:

mysql_secure_installation

Domyślnie MySQL nasłuchuje tylko połączeń wewnętrznych. Jeśli planujesz łączyć się z bazą danych przez TCP/IP, musisz usunąć lub skomentować (np. poprzedzić linię przed # ) dodaj bind-address wiersz w pliku my.cnf. w następujący sposób:

Plik:/ etc/mysql/my.cnf
1
2
# skip-networking
bind-address - 127.0.0.1

Zezwalanie na nieograniczony dostęp do MySQL na publicznym IP nie jest zalecane, ale możesz zmienić adres, na którym nasłuchuje, modyfikując bind-address parametr. Jeśli zdecydujesz się powiązać MySQL z publicznym adresem IP, powinieneś wdrożyć reguły zapory, które zezwalają na połączenia tylko z określonych adresów IP.

Zapoznaj się z sekcją „Więcej informacji” na końcu tego samouczka, aby uzyskać dodatkowe zasoby dotyczące konfiguracji MySQL. Wydaj następujące polecenie, aby ponownie uruchomić demona:

/etc/rc.d/mysqld restart

Zapoznaj się z naszym przewodnikiem po bezpiecznym zdalnym dostępie do MySQL, aby uzyskać informacje na temat łączenia się z Twoimi bazami danych z lokalnymi klientami.

Użyj MySQL

Standardowym narzędziem do interakcji z MySQL jest mysql program kliencki. Aby rozpocząć, wydaj następujące polecenie po znaku zachęty:

mysql -u root -p

Zostaniesz poproszony o podanie hasła administratora MySQL. Wprowadź hasło, które przydzieliłeś podczas instalowania MySQL, a pojawi się ekran monitora MySQL:

    Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.9-log Source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Aby wygenerować listę poleceń dla wiersza poleceń MySQL, wpisz \h :

    List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
?         (\?) Synonym for `help'.
clear     (\c) Clear the current input statement.
connect   (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit      (\e) Edit command with $EDITOR.
ego       (\G) Send command to mysql server, display result vertically.
exit      (\q) Exit mysql. Same as quit.
go        (\g) Send command to mysql server.
help      (\h) Display this help.
nopager   (\n) Disable pager, print to stdout.
notee     (\t) Don't write into outfile.
pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print     (\p) Print current command.
prompt    (\R) Change your mysql prompt.
quit      (\q) Quit mysql.
rehash    (\#) Rebuild completion hash.
source    (\.) Execute an SQL script file. Takes a file name as an argument.
status    (\s) Get status information from the server.
system    (\!) Execute a system shell command.
tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
use       (\u) Use another database. Takes database name as argument.
charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings  (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.

For server side help, type 'help contents'

mysql>

Stwórzmy bazę danych i przypiszmy do niej użytkownika. Wydaj następujące polecenia po znaku zachęty MySQL:

CREATE DATABASE testdb;
CREATE USER 'testuser'@localhost IDENTIFIED BY 'CHANGEME';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@localhost;
exit

Teraz zalogujmy się ponownie do klienta MySQL jako testuser i utwórz przykładową tabelę o nazwie „klienci”. Wydaj następujące polecenia:

mysql -u testuser -p
USE testdb;
CREATE TABLE customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
exit

Tworzy to tabelę z polem identyfikatora klienta typu INT dla liczby całkowitej (z automatycznym przyrostem dla nowych rekordów, używanym jako klucz podstawowy), a także dwoma polami do przechowywania nazwy klienta. Oczywiście prawdopodobnie chciałbyś przechowywać znacznie więcej informacji dla klienta, ale mimo to jest to dobry przykład powszechnego przypadku.

Jak zresetować hasło roota MySQL

Jeśli zapomniałeś hasła root do MySQL, możesz je zresetować, wydając następujące polecenia:

/etc/rc.d/mysqld stop
mysqld_safe --skip-grant-tables &
mysql -u root

Następująca część resetowania hasła zostanie teraz wykonana w programie klienta MySQL:

USE mysql;
UPDATE user SET PASSWORD-PASSWORD("CHANGEME") WHERE User-'root';
FLUSH PRIVILEGES;
exit

Na koniec uruchom ponownie MySQL, wydając następujące polecenie:

/etc/rc.d/mysqld restart

Dostrajanie MySQL

MySQL Tuner to przydatne narzędzie, które łączy się z działającą instancją MySQL i udostępnia zalecenia dotyczące konfiguracji na podstawie obciążenia. W idealnym przypadku instancja MySQL powinna działać przez co najmniej 24 godziny przed uruchomieniem tunera. Im dłużej działa instancja, tym lepsze porady zapewni MySQL Tuner.

Aby zainstalować MySQL Tuner, wydaj następujące polecenia:

pacman -S wget
wget http://mysqltuner.pl/mysqltuner.pl
chmod 755 mysqltuner.pl

Aby uruchomić MySQL Tuner, po prostu wpisz:

./mysqltuner.pl

Należy pamiętać, że to narzędzie ma na celu dostarczanie sugestii dotyczących konfiguracji i jest doskonałym punktem wyjścia. Rozsądnie byłoby przeprowadzić dodatkowe badania w celu dostrojenia konfiguracji w oparciu o aplikacje wykorzystujące MySQL*. *

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.

  • Podręcznik MySQL 5.1
  • Instrukcja PHP MySQL
  • Przykłady Perl DBI dla DBD::mysql
  • Podręcznik użytkownika MySQLdb

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie znaleziono dostawcy Entity Framework dla dostawcy ADO.NET "MySql.Data.MySqlClient"

  2. Automatyczne przełączanie awaryjne replikacji asynchronicznej w MySQL 8.0.22

  3. Czy mysql_real_escape_string() jest uszkodzony?

  4. AVG() – Oblicz średnią wartość kolumny w MySQL

  5. Powtórz ciąg wiele razy w MySQL – REPEAT()