MySQL - Administração

Executando e desligando o servidor MySQL

Primeiro verifique se o seu servidor MySQL está funcionando ou não. Você pode usar o seguinte comando para verificar isso -

ps -ef | grep mysqld

Se o seu MySql estiver rodando, você verá mysqldprocesso listado em seu resultado. Se o servidor não estiver em execução, você pode iniciá-lo usando o seguinte comando -

[email protected]# cd /usr/bin
./safe_mysqld &

Agora, se você deseja desligar um servidor MySQL que já está em execução, você pode fazer isso usando o seguinte comando -

[email protected]# cd /usr/bin
./mysqladmin -u root -p shutdown
Enter password: ******

Configurando uma conta de usuário MySQL

Para adicionar um novo usuário ao MySQL, você só precisa adicionar uma nova entrada ao user tabela no banco de dados mysql.

O programa a seguir é um exemplo de adição de um novo usuário guest com os privilégios SELECT, INSERT e UPDATE com a senha guest123; a consulta SQL é -

[email protected]# mysql -u root -p
Enter password:*******
mysql> use mysql;
Database changed

mysql> INSERT INTO user 
   (host, user, password, 
   select_priv, insert_priv, update_priv) 
   VALUES ('localhost', 'guest', 
   PASSWORD('guest123'), 'Y', 'Y', 'Y');
Query OK, 1 row affected (0.20 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0.01 sec)

mysql> SELECT host, user, password FROM user WHERE user = 'guest';
+-----------+---------+------------------+
|    host   |   user  |     password     |    
+-----------+---------+------------------+
| localhost |  guest  | 6f8c114b58f2ce9e |
+-----------+---------+------------------+
1 row in set (0.00 sec)

Ao adicionar um novo usuário, lembre-se de criptografar a nova senha usando a função PASSWORD () fornecida pelo MySQL. Como você pode ver no exemplo acima, a senha mypass é criptografada para 6f8c114b58f2ce9e.

Observe a instrução FLUSH PRIVILEGES. Isso diz ao servidor para recarregar as tabelas de permissões. Se você não o usar, não será capaz de se conectar ao MySQL usando a nova conta de usuário pelo menos até que o servidor seja reinicializado.

Você também pode especificar outros privilégios para um novo usuário, definindo os valores das seguintes colunas na tabela do usuário para 'Y' ao executar a consulta INSERT ou você pode atualizá-los posteriormente usando a consulta UPDATE.

  • Select_priv
  • Insert_priv
  • Update_priv
  • Delete_priv
  • Create_priv
  • Drop_priv
  • Reload_priv
  • Shutdown_priv
  • Process_priv
  • File_priv
  • Grant_priv
  • References_priv
  • Index_priv
  • Alter_priv

Outra maneira de adicionar conta de usuário é usando o comando GRANT SQL. O exemplo a seguir irá adicionar usuáriozara com senha zara123 para um banco de dados específico, que é nomeado como TUTORIALS.

[email protected]# mysql -u root -p password;
Enter password:*******
mysql> use mysql;
Database changed

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
   -> ON TUTORIALS.*
   -> TO 'zara'@'localhost'
   -> IDENTIFIED BY 'zara123';

Isso também criará uma entrada na tabela do banco de dados MySQL chamada de user.

NOTE - O MySQL não termina um comando até que você coloque um ponto e vírgula (;) no final do comando SQL.

A configuração do arquivo /etc/my.cnf

Na maioria dos casos, você não deve tocar neste arquivo. Por padrão, ele terá as seguintes entradas -

[mysqld]
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock

[mysql.server]
user = mysql
basedir = /var/lib

[safe_mysqld]
err-log = /var/log/mysqld.log
pid-file = /var/run/mysqld/mysqld.pid

Aqui, você pode especificar um diretório diferente para o log de erros, caso contrário, você não deve alterar nenhuma entrada nesta tabela.

Comando administrativo do MySQL

Aqui está a lista dos comandos MySQL importantes, que você usará de vez em quando para trabalhar com o banco de dados MySQL -

  • USE Databasename - Isso será usado para selecionar um banco de dados na área de trabalho do MySQL.

  • SHOW DATABASES - Lista os bancos de dados que podem ser acessados ​​pelo DBMS MySQL.

  • SHOW TABLES - Mostra as tabelas no banco de dados, uma vez que um banco de dados foi selecionado com o comando use.

  • SHOW COLUMNS FROM tablename: Mostra os atributos, tipos de atributos, informações chave, se NULL é permitido, padrões e outras informações para uma tabela.

  • SHOW INDEX FROM tablename - Apresenta os detalhes de todos os índices da tabela, incluindo a CHAVE PRIMÁRIA.

  • SHOW TABLE STATUS LIKE tablename\G - Relata detalhes do desempenho e estatísticas do MySQL DBMS.

No próximo capítulo, discutiremos como a sintaxe do PHP é usada no MySQL.