sql >> Databáze >  >> RDS >> Mysql

Nastavte MySQL 8 z binárního Tarballu

V tomto článku budeme diskutovat o instalaci binárního tarballu MySQL. Budeme diskutovat o instalaci MySQL 8 pomocí binárních tarballů a instalaci MySQL 8 na CentOS 7 pomocí binárních tarballů. Instalace založená na binárních tarballech má své výhody a nevýhody, projdeme si to. Instalace z binárních tarballů je nezávislá na distribuci Linuxu nebo systému init, který distribuce používá. To znamená, že stejná instalační metoda funguje například na RPM a mrtvých systémech, ale bude fungovat i na exotičtějších distribucích, jako je Gen 2. K dispozici je také binární tarball pro macOS a postup instalace se příliš neliší, tato metoda vyžaduje manuálnější slovo. Skript mysql_install_db byl v MySQL 5.7 zastaralý a je odstraněn z MySQL 8. Počáteční vytvoření databáze lze provést příkazem mysqld –initialize. Nyní, když nainstalujeme MySQL ručně, použijeme příkaz mysqld –initialize k vytvoření prázdné databáze.

Nejprve uděláme nějaký úklid. Odstraníme velmi starou verzi mariadb-libs, která poskytuje my.cnf, což by bylo v rozporu s naší.

Odstranění Mariadb libs:

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

Stáhněte si zdrojový tarball průzkumu komunity 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 Průměrná rychlost Čas Čas Čas AktuálníDload Nahrání Celkem Utraceno Levá rychlost0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0100 575M 100 575 mil. 0 0 7726 k 0 0:01:16 0:01:16 --:--:-- 8516 k
[[email protected] ~]# ll-rw-r--r--. 1 kořenový kořen 603019898 23. července 10:31 mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz

Soubor tarball není stažen, takže jej rozbalíme do usr/local

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

Dokončení předběžných požadavků

pojďme nainstalovat libaio.

[[email protected] ~]# sudo yum -y install libaio
Vytvořte skupinu MySQL, to obvykle provádějí balíčky, ale protože ji instalujeme ručně z binárního tarballu, musíme to nyní udělat.
[[email protected] ~]# sudo groupadd mysql

Pojďme vytvořit uživatele MySQL vy

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

ověřte, zda je tam uživatel mysql

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

dostal /usr/local a vytvořte symbolický odkaz a poté jej zkontrolujte

[[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 mysqllrwxrwxrwx. 1 root root 35. července 23 15:08 mysql -> mysql-8.0.11-linux-glibc2.12-x86_64

vytvořte adresář souborů MySQL, který bude držet vlastnictví a oprávnění datové sady, zatímco budete stát v /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 

Inicializovat MySQL

Přejděte do adresáře mysql a inicializujte mysqld, v dřívějších verzích se to nazývalo mysql_installed_db

[[email protected] local]# cd mysql[[email protected] mysql]# sudo ./bin/mysqld --initialize --user=mysql2020-07-23T12:12:10.028247Z 0 [Systém] [MY-013169] [Server] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) probíhá inicializace serveru jako proces 250142020-07-23T12 :15.470538Z 5 [Poznámka] [MY-010454] [Server] Vygeneruje se dočasné heslo pro [email protected]:Hqn+jK6lfzNS2020-07-23T12:12:18.875370Z 0 [Server] [MY-013170 ] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) inicializace serveru byla dokončena

Všimněte si, že se vygeneruje dočasné heslo root, což je v mém případě ([email protected]:Hqn+jK6lfzNS)

Zkopírujte init skript z support-files do /etc/init.d

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

spusťte mysql server s init souborem, který jsme právě zkopírovali

[[email protected] mysql]# sudo /etc/init.d/mysql.server start Spouštění MySQL. Přihlášení do '/usr/local/mysql/data/localhost.localdomain.err'.. ÚSPĚCH! 

Nyní připojte ro mysql poskytnutím dočasného hesla vygenerovaného dříve

[[email protected] mysql]# ./bin/mysql -uroot -pZadejte heslo:Vítejte v monitoru MySQL. Příkazy končí na; nebo \g.Vaše ID připojení k MySQL je 8Verze serveru:8.0.11Copyright (c) 2000, 2018, Oracle a/nebo jeho přidružené společnosti. Všechna práva vyhrazena. Oracle je registrovaná ochranná známka společnosti Oracle Corporation a/nebo jejích přidružených společností. Ostatní názvy mohou být ochrannými známkami příslušných vlastníků. Napište „help;“ nebo '\h' pro pomoc. Zadáním '\c' vymažete aktuální vstupní příkaz.mysql>

Pojďme změnit dočasné heslo pro uživatele root.

mysql> alter uživatele 'root'@'localhost' identifikovaného pomocí 'My_root_pass1!';Dotaz je v pořádku, ovlivněno 0 řádků (0,07 s)

Zkontrolujte umístění souboru soketu:

mysql> zobrazí proměnné jako 'socket';+---------------+-----------------+| Název_proměnné | Hodnota |+---------------+-----------------+| zásuvka | /tmp/mysql.sock |+---------------+-----------------+1 řádek v sadě (0,01 s) 

Abyste nemuseli zadávat cestu ke klientským programům vždy, když pracujete s MySQL, můžete do proměnné PATH přidat adresář /usr/local/mysql/bin:

[[email protected] mysql]# export PATH=$PATH:/usr/local/mysql/bin
[[email protected] mysql]# ps -ef | grep mysqlroot 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.pidmysql 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.pidroot 26171 21375 0 16:21 pts/1 00:00:00 mysql -uroot -px xxxxxxxxxxxxroot 26191 25365 0 16:00:00 auto 0 16:00:00 mysq

  1. Zkraťte (ne zaokrouhlujte) desetinná místa v SQL Server

  2. Paralelní volání v PL/SQL

  3. Proč PostgreSQL nemá rád názvy tabulek VELKÝMI PÍSMENY?

  4. Zavřít nebylo v databázi nikdy explicitně voláno