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

Skonfiguruj MySQL 8 z binarnego Tarballa

W tym artykule omówimy instalację binarnego tarballa MySQL. Omówimy instalację MySQL 8 przy użyciu binarnych paczek i zainstalujemy MySQL 8 na CentOS 7 przy użyciu binarnych paczek. Instalacja oparta na binarnych plikach tarball ma swoje wady i zalety, przejdziemy przez to. Instalacja z binarnych tarballi jest niezależna od dystrybucji Linuksa lub systemu init, z którego korzysta dystrybucja. Oznacza to, że ta sama metoda instalacji działa na przykład w systemach opartych na RPM i martwych, ale będzie działać również w bardziej egzotycznych dystrybucjach, takich jak Gen 2. Dostępna jest również binarna paczka dla systemu macOS, a procedura instalacji nie różni się zbytnio, ta metoda wymaga bardziej ręcznego słowa. Skrypt mysql_install_db był przestarzały w MySQL 5.7 i został usunięty z MySQL 8. Wstępne utworzenie bazy danych można wykonać za pomocą polecenia mysqld –initialize. Teraz, gdy zainstalujemy MySQL ręcznie, użyjemy polecenia mysqld –initialize, aby utworzyć pustą bazę danych.

Najpierw zróbmy trochę porządków. Usuniemy bardzo starą wersję mariadb-libs, która dostarcza my.cnf, która byłaby w konflikcie z naszym.

Usuń biblioteki Mariadb:

[[email protected] ~]# sudo yum remove -y mariadb-libs

Pobierz archiwum źródłowe ankiety społeczności MySQL 8.0

[[email protected] ~]# curl -L -O https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
100 575M 100 575M 0 0 7726k 0 0:01:16 0:01:16 --:--:-- 8516k
[[email protected] ~]# ll
-rw-r--r--. 1 root root 603019898 Jul 23 10:31 mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz

Plik tar nie został pobrany, więc rozpakujmy go do usr/local

[[email protected] ~]# sudo tar xvfz mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

Wypełnianie wymagań wstępnych

zainstalujmy libaio.

[[email protected] ~]# sudo yum -y install libaio
Create a MySQL group, this is normally done by the packages but because we are installing it manually from binary tarball now we need to do it.
[[email protected] ~]# sudo groupadd mysql

Stwórzmy użytkownika MySQL, którego

[[email protected] ~]# sudo useradd -r -g mysql -s /bin/false mysql

sprawdź, czy użytkownik mysql jest tam

[[email protected] ~]# getent passwd | grep mysql
mysql:x:988:1001::/home/mysql:/bin/false

dostałem /usr/local i utwórz dowiązanie symboliczne, a następnie sprawdź

[[email protected] ~]# cd /usr/local
[[email protected] local]# sudo ln -s mysql-8.0.11-linux-glibc2.12-x86_64 mysql
[[email protected] local]# ls -la mysql
lrwxrwxrwx. 1 root root 35 Jul 23 15:08 mysql -> mysql-8.0.11-linux-glibc2.12-x86_64

utwórz katalog plików MySQL, który będzie przechowywał własność zestawu danych i uprawnienia, stojąc w /usr/local/

[[email protected] local]# sudo mkdir mysql-files
[[email protected] local]# sudo chown mysql:mysql mysql-files
[[email protected] local]# sudo chmod 750 mysql-files

Zainicjuj MySQL

Przejdź do katalogu mysql i zainicjuj mysqld, we wcześniejszych wersjach nazywało się to mysql_installed_db

[[email protected] local]# cd mysql
[[email protected] mysql]# sudo ./bin/mysqld --initialize --user=mysql
2020-07-23T12:12:10.028247Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) initializing of server in progress as process 25014
2020-07-23T12:12:15.470538Z 5 [Note] [MY-010454] [Server] A temporary password is generated for [email protected]: Hqn+jK6lfzNS
2020-07-23T12:12:18.875370Z 0 [System] [MY-013170] [Server] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) initializing of server has completed

Zauważ, że generowane jest tymczasowe hasło roota, które w moim przypadku to ([email protected]:Hqn+jK6lfzNS)

Skopiuj skrypt startowy z plików wsparcia do /etc/init.d

[[email protected] mysql]# sudo cp ./support-files/mysql.server /etc/init.d/

uruchom serwer mysql z plikiem startowym, który właśnie skopiowaliśmy

[[email protected] mysql]# sudo /etc/init.d/mysql.server start
Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
. SUCCESS!

Teraz połącz ro mysql, podając tymczasowe hasło wygenerowane wcześniej

[[email protected] mysql]# ./bin/mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.11
Copyright (c) 2000, 2018, 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>

Zmieńmy tymczasowe hasło dla użytkownika root.

mysql> alter user 'root'@'localhost' identified by 'My_root_pass1!';
Query OK, 0 rows affected (0.07 sec)

Sprawdź lokalizację pliku gniazda:

mysql> show variables like 'socket';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| socket | /tmp/mysql.sock |
+---------------+-----------------+
1 row in set (0.01 sec)

Aby uniknąć konieczności wpisywania nazwy ścieżki programów klienckich zawsze podczas pracy z MySQL, możesz dodać katalog /usr/local/mysql/bin do swojej zmiennej PATH:

[[email protected] mysql]# export PATH=$PATH:/usr/local/mysql/bin
[[email protected] mysql]# ps -ef | grep mysql
root 25130 1 0 15:16 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/localhost.localdomain.pid
mysql 25215 25130 1 15:16 pts/1 00:00:42 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=localhost.localdomain.err --pid-file=/usr/local/mysql/data/localhost.localdomain.pid
root 26171 21375 0 16:21 pts/1 00:00:00 mysql -uroot -px xxxxxxxxxxxx
root 26191 25365 0 16:23 pts/2 00:00:00 grep --color=auto mysq

No
  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 naprawić BŁĄD 1130 (HY000):Host nie może połączyć się z tym serwerem MySQL

  2. Zainstaluj MySQL na komputerze Mac

  3. Funkcja MySQL COT() — zwraca cotangens liczby w MySQL

  4. Zapowiedź ClusterControl 1.7.5:Zaawansowana konserwacja klastra i wsparcie dla PostgreSQL 12 i MongoDB 4.2

  5. Utracono połączenie z serwerem MySQL podczas zapytania