Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Configure o MySQL 8 a partir do Binary Tarball


Neste artigo, discutiremos a instalação do MySQL tarball binário. Discutiremos a instalação do MySQL 8 usando tarballs binários e instalaremos o MySQL 8 no CentOS 7 usando tarballs binários. A instalação baseada em tarballs binários tem seus próprios prós e contras, vamos passar por isso. A instalação a partir de tarballs binários é independente da distribuição Linux ou do sistema init que a distribuição usa. Isso significa que o mesmo método de instalação funciona em sistemas baseados em RPM e mortos, por exemplo, mas também funcionará em distribuições mais exóticas, como a Gen 2. Existe um tarball binário para macOS disponível também e o procedimento de instalação não é muito diferente, este método precisa de uma palavra mais manual. O script mysql_install_db foi descontinuado no MySQL 5.7 e foi removido do MySQL 8. A criação inicial do banco de dados pode ser feita com o comando mysqld –initialize. Agora que instalaremos o MySQL manualmente, usaremos o comando mysqld –initialize para criar um banco de dados vazio.

Primeiro vamos fazer uma limpeza. Vamos remover a versão muito antiga do mariadb-libs que fornece my.cnf que entraria em conflito com o nosso.

Remover bibliotecas Mariadb:

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

Baixe o tarball fonte da pesquisa da comunidade 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 % Recebido % Velocidade média Xferd Tempo Tempo Tempo CurrentDload Upload Total gasto à esquerda Velocidade0 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 de julho 10:31 mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz

O tarball não foi baixado, então vamos descompactá-lo para usr/local
[[email protected] ~]# sudo tar xvfz mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

Preenchendo os pré-requisitos


vamos instalar o libaio.
[[email protected] ~]# sudo yum -y install libaio
Crie um grupo MySQL, isso normalmente é feito pelos pacotes, mas como estamos instalando manualmente a partir do tarball binário agora precisamos fazer isso.
[[email protected] ~]# sudo groupadd mysql

Vamos criar um usuário MySQL que você
[[email protected] ~]# sudo useradd -r -g mysql -s /bin/false mysql

verifique se o usuário mysql está lá
[[email protected] ~]# getent passwd | grep mysqlmysql:x:988:1001::/home/mysql:/bin/false

obteve /usr/local e crie um link simbólico e verifique-o
[[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 Jul 23 15:08 mysql -> mysql-8.0.11-linux-glibc2.12-x86_64

crie o diretório de arquivos MySQL que manterá a propriedade e as permissões do conjunto de dados enquanto estiver em /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 

Inicializar o MySQL


Vá para o diretório mysql e inicialize o mysqld, nas versões anteriores isso era chamado 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) inicialização do servidor em andamento como processo 250142020-07-23T12:12 :15.470538Z 5 [Nota] [MY-010454] [Server] Uma senha temporária é gerada para [email protected]:Hqn+jK6lfzNS2020-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) a inicialização do servidor foi concluída

Observe que a senha raiz temporária é gerada, que no meu caso é ([email protected]:Hqn+jK6lfzNS)

Copie o script de inicialização dos arquivos de suporte para /etc/init.d
[[email protected] mysql]# sudo cp ./support-files/mysql.server /etc/init.d/

inicie o servidor mysql com o arquivo init que acabamos de copiar
[[email protected] mysql]# sudo /etc/init.d/mysql.server startIniciando MySQL.Logging para '/usr/local/mysql/data/localhost.localdomain.err'.. SUCESSO! 
Agora conecte o mysql fornecendo o passwd temporário gerado anteriormente
[[email protected] mysql]# ./bin/mysql -uroot -pEnter password:Bem-vindo ao monitor MySQL. Os comandos terminam com; ou \g.Seu ID de conexão MySQL é versão 8Server:8.0.11Copyright (c) 2000, 2018, Oracle e/ou suas afiliadas. Todos os direitos reservados. Oracle é uma marca registrada da Oracle Corporation e/ou suas afiliadas. Outros nomes podem ser marcas registradas de seus respectivos proprietários. Digite 'help;' ou '\h' para ajuda. Digite '\c' para limpar a instrução de entrada atual.mysql>

Vamos mudar a senha temporária para o usuário root.
mysql> altera usuário 'root'@'localhost' identificado por 'My_root_pass1!';Consulta OK, 0 linhas afetadas (0,07 seg)

Verifique a localização do arquivo de soquete:
mysql> mostra variáveis ​​como 'socket';+---------------+-----------------+| Nome_variável | Valor |+---------------+-----------------+| tomada | /tmp/mysql.sock |+---------------+-----------------+1 linha no conjunto (0,01 seg) 

Para evitar ter que digitar o nome do caminho dos programas clientes sempre que estiver trabalhando com o MySQL, você pode adicionar o diretório /usr/local/mysql/bin à sua variável 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 --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:23 pts/2 00:00:00 grep --color=auto mysq

No