Como instalar o MySQL Server 8.0 no Ubuntu 18.04 LTS
Requisitos:
$ sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
$ sudo apt install mysql-server mysql
Se o link acima estiver quebrado acesse https://dev.mysql.com/downloads/mysql/ e obtenha o link correto, basta selecionar o Sistema Operacional Ubuntu e então em MySQL APT Repository.
NOTA: se você tinha o MySQL 5.7 instalado com bases de dados em funcionamento, não se preocupe, este procedimento atualiza o MySQL 5.7 para MySQL Server 8.0 e as bases de dados serão mantidas.
Considero aqui a probabilidade de você ter instalado o Workbench para acessar o MySQL Server 8.0 recém instalado. É provável que você encontre dificuldades para estabelecer a conexão entre o Workbench e o MySQL Server 8.0 na primeira tentativa. Então eis os passos que lhe permitirão resolver esta questão a seguir.
1) realize a configuração inicial do MySQL respondendo as questões apresentadas pelo comando abaixo:
$ sudo mysql_secure_installation
1.1) se você já tinha instalado e utilizava algum banco de dados antes de instalar o MySQL 8, fique despreocupado, tudo será mantido, de qualquer modo você também deve fazer o upgrade do seus bancos de dados da versão 5.7 para a versão 8 além do upgrade do "aplicativo", e o comando para isso é o seguinte: $ sudo mysql_upgrade -u root -p
2) após a configuração inicial, prossiga com as seguintes instruções:
$ sudo mysql -u root -p
> SELECT user,authentication_string,plugin,host FROM mysql.user;
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';
> FLUSH PRIVILEGES;
3) considero que há um "problema" (frente ao meu hábito de uso do MySQL) que me impede de realizar INSERTS com datas default no formato '0000-00-00 00:00:00', então eu verifico se este "problema" existe executando o seguinte comando:
> SELECT @@sql_mode;
Se aparecer NO_ZERO_DATE ou NO_ZERO_IN_DATE na string do resultado do comando acima, digite o comando a seguir para resolver o "problema" temporariamente:
> SET sql_mode = '';
De acordo com a documentação do MySQL se o modo NO_ZERO_DATE ou NO_ZERO_IN_DATE estiver habilitado, zero dates ou part of dates estarão desabilitados. Então reconfigurar o sql_mode pode ser a solução para o problema do INSERT com '0000-00-00 00:00:00' com falha. Problema resolvido, execute o comando a seguir:
> \q
Para fixar a solução do "problema" mencionado acima caso você reinicie o PC, faz-se necessário editar o arquivo /etc/mysql/my.cnf e inserir o seguinte conteúdo:
[mysqld]
sql_mode=""
Considere a palavra admin destacada acima é a senha do seu usuário root, no lugar deste informe a senha que desejar.
- Ubuntu 18.04 LTS
- A instalação do MySQL Server 8.0 no Ubuntu 18.04 LTS é bastante simples, basta baixar um arquivo disponível no site da MySQL.
Instalando o MySQL Server 8.0
$ wget -v https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb$ sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
$ sudo apt install mysql-server mysql
Se o link acima estiver quebrado acesse https://dev.mysql.com/downloads/mysql/ e obtenha o link correto, basta selecionar o Sistema Operacional Ubuntu e então em MySQL APT Repository.
NOTA: se você tinha o MySQL 5.7 instalado com bases de dados em funcionamento, não se preocupe, este procedimento atualiza o MySQL 5.7 para MySQL Server 8.0 e as bases de dados serão mantidas.
Configurando o MySQL Server 8.0
Considero aqui a probabilidade de você ter instalado o Workbench para acessar o MySQL Server 8.0 recém instalado. É provável que você encontre dificuldades para estabelecer a conexão entre o Workbench e o MySQL Server 8.0 na primeira tentativa. Então eis os passos que lhe permitirão resolver esta questão a seguir.
1) realize a configuração inicial do MySQL respondendo as questões apresentadas pelo comando abaixo:
$ sudo mysql_secure_installation
1.1) se você já tinha instalado e utilizava algum banco de dados antes de instalar o MySQL 8, fique despreocupado, tudo será mantido, de qualquer modo você também deve fazer o upgrade do seus bancos de dados da versão 5.7 para a versão 8 além do upgrade do "aplicativo", e o comando para isso é o seguinte: $ sudo mysql_upgrade -u root -p
2) após a configuração inicial, prossiga com as seguintes instruções:
$ sudo mysql -u root -p
> SELECT user,authentication_string,plugin,host FROM mysql.user;
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';
> FLUSH PRIVILEGES;
3) considero que há um "problema" (frente ao meu hábito de uso do MySQL) que me impede de realizar INSERTS com datas default no formato '0000-00-00 00:00:00', então eu verifico se este "problema" existe executando o seguinte comando:
> SELECT @@sql_mode;
Se aparecer NO_ZERO_DATE ou NO_ZERO_IN_DATE na string do resultado do comando acima, digite o comando a seguir para resolver o "problema" temporariamente:
> SET sql_mode = '';
De acordo com a documentação do MySQL se o modo NO_ZERO_DATE ou NO_ZERO_IN_DATE estiver habilitado, zero dates ou part of dates estarão desabilitados. Então reconfigurar o sql_mode pode ser a solução para o problema do INSERT com '0000-00-00 00:00:00' com falha. Problema resolvido, execute o comando a seguir:
> \q
Para fixar a solução do "problema" mencionado acima caso você reinicie o PC, faz-se necessário editar o arquivo /etc/mysql/my.cnf e inserir o seguinte conteúdo:
[mysqld]
sql_mode=""
Considere a palavra admin destacada acima é a senha do seu usuário root, no lugar deste informe a senha que desejar.
Comentários