I denne artikel vil vi diskutere binær tarball MySQL-installation. Vi vil diskutere MySQL 8-installation ved hjælp af binære tarballs og installere MySQL 8 på CentOS 7 ved hjælp af binære tarballs. Binær tarballs baseret installation har sine egne fordele og ulemper, det vil vi gå igennem. Installation fra binære tarballs er uafhængig af Linux-distributionen eller det init-system, distributionen bruger. Det betyder, at den samme installationsmetode fungerer på f.eks. RPM og dødbaserede systemer, men den vil også fungere på mere eksotiske distributioner som Gen 2. Der er også en binær tarball til macOS tilgængelig, og installationsproceduren er ikke meget anderledes, denne metode har brug for et mere manuelt ord. Mysql_install_db-scriptet blev forældet i MySQL 5.7 og er fjernet fra MySQL 8. Den indledende databaseoprettelse kan udføres med kommandoen mysqld –initialize. Nu hvor vi vil installere MySQL manuelt, vil vi bruge mysqld –initialize-kommandoen til at oprette en tom database.
Lad os først rydde op. Vi vil fjerne den meget gamle version af mariadb-libs, som giver my.cnf, som ville være i konflikt med vores.
Fjern Mariadb libs:
[[email protected] ~]# sudo yum remove -y mariadb-libs
Download kilden til MySQL community survey 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 % Modtaget % Xferd Gennemsnitlig hastighed Tid Tid Tid CurrentDload Upload Samlet brugt venstre hastighed0 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 rodrod 603019898 23. jul 10:31 mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
Tarballen er ikke downloadet, så lad os pakke den ud til usr/local
[[email protected] ~]# sudo tar xvfz mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
Udførelse af de forudgående krav
lad os installere libaio.
[[email protected] ~]# sudo yum -y install libaio
Opret en MySQL-gruppe, dette gøres normalt af pakkerne, men fordi vi installerer det manuelt fra binær tarball, skal vi nu gøre det.
[[email protected] ~]# sudo groupadd mysql
Lad os oprette en MySQL-bruger dig
[[email protected] ~]# sudo useradd -r -g mysql -s /bin/false mysql
bekræft, at mysql-brugeren er der
[[email protected] ~]# getent passwd | grep mysqlmysql:x:988:1001::/home/mysql:/bin/false
fik /usr/local og opret et symbollink og tjek det derefter
[[email protected] ~]# cd /usr/local[[email protected] local]# sudo ln -s mysql-8.0.11-linux-glibc2.12-x86_64 mysql[[email protected] lokal]# ls -la mysqllrwxrwxrwx. 1 root root 35. jul 23 15:08 mysql -> mysql-8.0.11-linux-glibc2.12-x86_64
opret MySQL-filbibliotek, som vil holde datasættets ejerskab og tilladelser, mens du står i /usr/local/
[[email protected] local]# sudo mkdir mysql-filer[[email protected] local]# sudo chown mysql:mysql mysql-files[[email protected] local]# sudo chmod 750 mysql-filer
Initialiser MySQL
Gå til mysql-biblioteket og initialiser mysqld, på tidligere versioner blev dette kaldt mysql_installed_db
[[email protected] local]# cd mysql[[email protected] mysql]# sudo ./bin/mysqld --initialize --user=mysql2020-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) initialisering af server i gang som proces 250142020-027:12T :15.470538Z 5 [Bemærk] [MY-010454] [Server] En midlertidig adgangskode genereres for [email protected]:Hqn+jK6lfzNS2020-07-23T12:12:18.875370Z 0] [System] [M470-013170 ] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) initialisering af server er fuldført
Bemærk, at den midlertidige root-adgangskode genereres, som i mit tilfælde er ([email protected]:Hqn+jK6lfzNS)
Kopier init-scriptet fra support-filer til /etc/init.d
[[email protected] mysql]# sudo cp ./support-files/mysql.server /etc/init.d/
start mysql server med init fil vi lige har kopieret
[[email protected] mysql]# sudo /etc/init.d/mysql.server startStarting MySQL.Logger til '/usr/local/mysql/data/localhost.localdomain.err'.. SUCCES!Tilslut nu ro mysql ved at give den midlertidige adgangskode genereret tidligere
[[email protected] mysql]# ./bin/mysql -uroot -pIndtast adgangskode:Velkommen til MySQL-skærmen. Kommandoer slutter med; eller \g.Dit MySQL-forbindelses-id er 8Serverversion:8.0.11Copyright (c) 2000, 2018, Oracle og/eller dets tilknyttede selskaber. Alle rettigheder forbeholdes. Oracle er et registreret varemærke tilhørende Oracle Corporation og/eller dets tilknyttede selskaber. Andre navne kan være varemærker tilhørende deres respektive ejere. Indtast 'hjælp;' eller '\h' for at få hjælp. Skriv '\c' for at rydde den aktuelle inputsætning.mysql>Lad os ændre den midlertidige adgangskode for root-brugeren.
mysql> ændre bruger 'root'@'localhost' identificeret af 'My_root_pass1!';Forespørgsel OK, 0 rækker påvirket (0,07 sek.)Kontroller socket-filens placering:
mysql> viser variabler som 'socket';+--------------+----------------+| Variabelnavn | Værdi |+---------------+----------------+| fatning | /tmp/mysql.sock |+---------------------+----------------+1 række i sæt (0,01 sek.)For at undgå at skulle indtaste stinavnet på klientprogrammer altid, når du arbejder med MySQL, kan du tilføje mappen /usr/local/mysql/bin til din PATH-variabel:
[[email protected] mysql]# eksport 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 --data /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:20 0 16:20 pts:02:grep =grep:02 mysq