В тази статия ще обсъдим инсталацията на MySQL с двоичен tarball. Ще обсъдим инсталирането на MySQL 8 с помощта на двоични tarballs и ще инсталираме MySQL 8 на CentOS 7 с помощта на двоични tarballs. Инсталацията, базирана на двоични tarballs, има своите плюсове и минуси, ще преминем през това. Инсталацията от двоични tarball-ове е независима от дистрибуцията на Linux или системата за инициализиране, която дистрибуцията използва. Това означава, че същият метод на инсталиране работи например на RPM и базирани на мъртви системи, но също така ще работи и в по-екзотични дистрибуции като Gen 2. Има достъпен и двоичен tarball за macOS и процедурата за инсталиране не е много по-различна, този метод се нуждае от по-ръчна дума. Скриптът mysql_install_db е остарял в MySQL 5.7 и е премахнат от MySQL 8. Първоначалното създаване на база данни може да се извърши с командата mysqld –initialize. Сега, когато ще инсталираме MySQL ръчно, ще използваме командата mysqld –initialize, за да създадем празна база данни.
Първо нека направим малко почистване. Ще премахнем много старата версия на mariadb-libs, която предоставя my.cnf, която би била в конфликт с нашата.
Премахване на библиотеки Mariadb:
[[email protected] ~]# sudo yum премахнете -y mariadb-libs
Изтеглете изходния tarball на 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% Общ % получен % Xferd Средна скорост Време Време Време CurrentDload Качване Обща изразходвана лява скорост0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0100 575M 100 575M 0 0 7726k 0 0:01:16 0:01:16 --:--:-- 8516k
[[email protected] ~]# ll-rw-r--r--. 1 root root 603019898 23 юли 10:31 mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
Архивът не е изтеглен, така че нека го разопаковаме в usr/local
[[email protected] ~]# sudo tar xvfz mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
Попълване на предварителните изисквания
нека инсталираме libaio.
[[email protected] ~]# sudo yum -y инсталирай libaio
Създайте MySQL група, това обикновено се прави от пакетите, но тъй като ние я инсталираме ръчно от двоичен tarball сега трябва да го направим.
[[email protected] ~]# sudo groupadd mysql
Нека създадем потребител на MySQL вие
[[email protected] ~]# sudo useradd -r -g mysql -s /bin/false mysql
потвърдете, че потребителят на mysql е там
[[email protected] ~]# getent passwd | grep mysqlmysql:x:988:1001::/home/mysql:/bin/false
получи /usr/local и създайте символна връзка и след това я проверете
[[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 юли 23 15:08 mysql -> mysql-8.0.11-linux-glibc2.12-x86_64
създайте директория на MySQL файлове, която ще държи собствеността върху набора от данни и разрешенията, докато стои в /usr/local/
[[email protected] local]# sudo mkdir mysql-файлове[[email protected] local]# sudo chown mysql:mysql mysql-файлове[[email protected] local]# sudo chmod 750 mysql-файлапредварително>Инициализирайте MySQL
Отидете в директорията mysql и инициализирайте mysqld, в по-ранните версии това се наричаше mysql_installed_db
[[email protected] local]# cd mysql[[email protected] mysql]# sudo ./bin/mysqld --initialize --user=mysql2020-07-23T12:12:10.028247Z 0 [Система] [MY-013169] [Сървър] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) инициализация на сървъра в ход като процес 250142020-027-12 :15.470538Z 5 [Забележка] [MY-010454] [Сървър] Генерира се временна парола за [email protected]:Hqn+jK6lfzNS2020-07-23T12:12:18.875370Z 0 [System-01] [System-01] ] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) инициализацията на сървъра приключиИмайте предвид, че се генерира временната root парола, която в моя случай е ([email protected]:Hqn+jK6lfzNS)
Копирайте init скрипта от поддържащи файлове в /etc/init.d
[[email protected] mysql]# sudo cp ./support-files/mysql.server /etc/init.d/стартирайте mysql сървъра с init файл, който току-що копирахме
[[email protected] mysql]# sudo /etc/init.d/mysql.server startСтартиране на MySQL. Влизане в '/usr/local/mysql/data/localhost.localdomain.err'.. УСПЕХ!предварително>Сега свържете ro mysql, като предоставите временния passwd, генериран по-рано
[[email protected] mysql]# ./bin/mysql -uroot -pEnter парола:Добре дошли в монитора на MySQL. Командите завършват с; или \g.Идентификаторът на вашата MySQL връзка е версия на 8Server:8.0.11Copyright (c) 2000, 2018, Oracle и/или неговите филиали. Всички права запазени. Oracle е регистрирана търговска марка на Oracle Corporation и/или нейните филиали. Други имена може да са търговски марки на съответните им собственици. Въведете 'help;' или '\h' за помощ. Въведете '\c', за да изчистите текущия входен оператор.mysql>Нека променим временния passwd за root потребител.
mysql> промяна на потребителя 'root'@'localhost', идентифициран от 'My_root_pass1!';Заявката ОК, 0 засегнати реда (0,07 сек)Проверете местоположението на файла на сокета:
mysql> показва променливи като 'socket';+--------------+----------------+| Име на променлива | Стойност |+---------------+----------------+| гнездо | /tmp/mysql.sock |+--------------+----------------+1 ред в комплект (0,01 сек)За да избегнете необходимостта да въвеждате името на пътя на клиентските програми винаги, когато работите с MySQL, можете да добавите директорията /usr/local/mysql/bin към вашата променлива PATH:
[[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 /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 xxxxxxxxxxxxxroot 26191 25365 25365 --color:0 auto:0 p 16 mysq