Suporte de Rede
Instalar o MySQL Server no sistema operativo Ubuntu
atualizada por Último sobre: 2019-12-20
Autoria: Jered Heeschen
o MySQL é um open-source de banco de dados relacional que é livre e amplamente utilizado. É uma boa escolha se você sabe que precisa de um banco de dados, mas não sabe muito sobre todas as opções disponíveis.
este artigo descreve uma instalação básica de um servidor de banco de dados MySQL no sistema operacional Ubuntu. Você pode precisar instalar outros pacotes para deixaraplicações usam MySQL, como extensões para PHP. Verifique seu applicationdocumentation para detalhes.
Instale o MySQL
Instale o servidor MySQL usando o Gerenciador de pacotes do sistema operacional Ubuntu:
sudo apt-get updatesudo apt-get install mysql-server
o instalador instala o MySQL e todas as dependências.
se o utilitário de instalação segura não iniciar automaticamente após a conclusão da instalação, digite o seguinte comando:
sudo mysql_secure_installation utility
este utilitário solicita que você defina a senha raiz do mysql e outras opções relacionadas à segurança, incluindo a remoção de acessos remotos para o usuário root e a configuração da senha raiz.
permitir acesso remoto
se você tiver iptables habilitado e quiser se conectar ao banco de dados MySQL deoutra máquina, você deve abrir uma porta no firewall do seu servidor (o defaultport é 3306). Você não precisa fazer isso se o aplicativo que usa MySQLis em execução no mesmo servidor.
execute o seguinte comando para permitir o acesso remoto ao servidor mysql:
sudo ufw enablesudo ufw allow mysql
Inicie o serviço MySQL
depois que a instalação for concluída, você pode iniciar o serviço de banco de dados byrunning o seguinte comando. Se o serviço já foi iniciado, um messageinforms que o serviço já está em execução:
sudo systemctl start mysql
Lançamento na reinicialização
Para garantir que o servidor de banco de dados inicia após uma reinicialização, execute o followingcommand:
sudo systemctl enable mysql
Configurar interfaces
MySQL, por padrão não está mais vinculado ( escutando ) qualquer remotamente interfaces acessíveis.Edite a diretiva “bind-address” em/etc / mysql / mysql.conf.d / mysqld.cnf:
bind-address= 127.0.0.1 ( The default. )bind-address= XXX.XXX.XXX.XXX ( The ip address of your Public Net interface. )bind-address= ZZZ.ZZZ.ZZZ.ZZZ ( The ip address of your Service Net interface. )bind-address= 0.0.0.0 ( All ip addresses. )
reinicie o serviço mysql.
sudo systemctl restart mysql
Inicie o shell mysql
há mais de uma maneira de trabalhar com um servidor MySQL, mas este artigofoca a abordagem mais básica e compatível, o shell mysql
.
-
No prompt de comando, execute o seguinte comando para iniciar o
mysql
> shell e digite-o como o usuário root:/usr/bin/mysql -u root -p
-
Quando você for solicitado para uma senha, digite aquele que você definir atinstallation tempo, ou se você não tiver definido um, pressione Enter para enviar a nopassword.
o seguinte
mysql
Shell prompt deve aparecer:mysql>
defina a senha raiz
se você fez login inserindo uma senha em branco ou se deseja alterar a palavra-chave raiz definida, pode criar ou alterar a senha.
-
para versões anteriores ao MySQL 5.7, digite o seguinte comando no shell
mysql
, substituapassword
por sua nova senha:UPDATE mysql.user SET Password = PASSWORD('password') WHERE User = 'root';
para a versão MySQL 5.7 e posterior, digite o seguinte comando no shell
mysql
, substituindopassword
por sua nova senha:UPDATE mysql.user SET authentication_string = PASSWORD('password') WHERE User = 'root';
-
para fazer a alteração entrar em vigor, recarregue as informações do usuário armazenadas com o seguinte comando:
FLUSH PRIVILEGES;
Nota: estamos usando all-caps para comandos SQL. Se você digitar osecomandos em minúsculas, eles funcionarão. Por convenção, os comandos são escritos em maiúsculas para fazê-los se destacar dos nomes de campo e outros dados que estão sendo manipulados.
se você precisar redefinir a senha raiz mais tarde, consulte Redefinir uma senha raiz do MySQL.
exibir usuários
o MySQL armazena as informações do usuário em seu próprio banco de dados. O nome do banco de Dadosé mysql. Dentro desse banco de dados, as informações do usuário estão em uma tabela, adataset, chamada usuário. Se você quiser ver o que os usuários estão configurados no MySQLuser tabela, execute o seguinte comando:
SELECT User, Host, authentication_string FROM mysql.user;
a lista A seguir descreve as peças de comando:
- SELECIONE diz ao MySQL que você está pedindo dados.
- Usuário, Host, authentication_string informa ao MySQL quais campos você deseja que ele se encaixe. Campos São categorias para os dados em uma tabela. Nesse caso, você está procurando o nome de usuário, o host associado ao nome de usuário ea entrada de senha criptografada.
- do mysql.user ” diz ao MySQL para obter os dados do mysqldatabase e da tabela user.
- um ponto e vírgula (;) termina o comando.
Nota: Todas as consultas SQL terminam em ponto e vírgula. MySQL não processa uma queryaté que você digite um ponto e vírgula.
Usuário hospeda
O exemplo a seguir é a saída para a consulta anterior:
SELECT User, Host, authentication_string FROM mysql.user;+------------------+-----------+-------------------------------------------+| User | Host | authentication_string |+------------------+-----------+-------------------------------------------+| root | localhost | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 || mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || debian-sys-maint | localhost | *27E7CA2445405AB10C656AFD0F86AF76CCC57692 |+------------------+-----------+-------------------------------------------+
os Usuários são associados a um host, especificamente, o host a partir do qual eles se conectam.O usuário root neste exemplo é definido para localhost, para o endereço IP de localhost e o nome do host do servidor.Você geralmente precisa definir um usuário para apenas um host, aquele do qual você se conecta tipicamente.
se você estiver executando seu aplicativo no mesmo computador que o MySQLserver, o host ao qual ele se conecta por padrão é localhost. Qualquer usuário novo que você criar deve ter localhost em seu campo host.
se o seu aplicativo se conectar remotamente, a entrada do host que o MySQL procura é o endereço IP ou o nome do host DNS do computador remoto (aquele do qual o cliente está chegando).
usuários anônimos
na saída de exemplo, uma entrada tem um valor de host, mas nenhum nome de usuário ou senha.É um utilizador anónimo. Quando um cliente se conecta sem nenhum nome de usuário especificado, ele está tentando se conectar como um usuário anônimo.
você geralmente não quer nenhum usuário anônimo, mas algumas instalaçõesincluem um MySQL por padrão. Se você vir um, exclua o usuário(consulte o nome de usuário com aspas vazias, como ‘ ‘) ou defina uma senha para ele.
criar um banco de dados
há uma diferença entre um servidor de banco de dados e um banco de dados, embora esses Termos sejam frequentemente usados de forma intercambiável. O MySQL é um servidor de banco de dados, o que significa que ele rastreia bancos de dados e controla o acesso a eles. O banco de dados armazena os dados eé o banco de dados que os aplicativos estão tentando acessar quando interagem com o MySQL.
alguns aplicativos criam um banco de dados como parte de seu processo de configuração, mas outros exigem que você crie um banco de dados e informe ao aplicativo sobre isso.
para criar um banco de dados, faça login no shell mysql
e execute o seguinte comando,substituindo demodb
pelo nome do banco de dados que você deseja criar:
CREATE DATABASE demodb;
depois que o banco de dados é criado, você pode verificar sua criação executando uma consulta para listar todos os bancos de dados. O exemplo a seguir mostra a consulta e a saída do exemplo:
SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || demodb || mysql |+--------------------+3 rows in set (0.00 sec)
adicionar um usuário de banco de dados
quando os aplicativos se conectam ao banco de dados usando o usuário root, eles geralmente têm mais privilégios do que precisam. Você pode adicionar usuários que os aplicativos podem usar para se conectar ao novo banco de dados. No exemplo a seguir, um usuário chamado demouser é criado.
-
Para criar um novo usuário, execute o seguinte comando em
mysql
> shell:INSERT INTO mysql.user (User,Host,authentication_string,ssl_cipher,x509_issuer,x509_subject)VALUES('demouser','localhost',PASSWORD('demopassword'),'','','');
-
Quando você fizer alterações para a tabela user no banco de dados mysql, tellMySQL para ler as mudanças pela liberação de privilégios, como segue:
FLUSH PRIVILEGES;
-
Verifique se o usuário foi criado executando uma consulta SELECT novamente:
SELECT User, Host, authentication_string FROM mysql.user;+------------------+-----------+-------------------------------------------+| User | Host | Password |+------------------+-----------+-------------------------------------------+| root | localhost | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 || mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || debian-sys-maint | localhost | *27E7CA2445405AB10C656AFD0F86AF76CCC57692 || demouser | localhost | *0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6 |+------------------+-----------+-------------------------------------------+
Conceder base de dados de permissões de usuário
depois de criar um novo usuário, ele não tem privilégios. O usuário pode fazer login, mas não pode ser usado para fazer alterações no banco de dados.
resumo
se você está apenas criando um banco de dados e um usuário, está feito. O conceptscovered aqui deve dar – lhe um começo sólido a partir do qual aprender mais.
- configurar o servidor MySQL no sistema operacional Ubuntu
- Redefinir uma senha de root MySQL