MySQLi - Administração

Executando e desligando o servidor MySQLi

O MySQLi é estendido do MySQL, portanto, primeiro verifique se o 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 rodando, você pode iniciá-lo usando o seguinte comando -

root@host# cd /usr/bin
./safe_mysqld &

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

root@host# cd /usr/bin
./mysqladmin -u root -p shutdown
Enter password: ******

Configurando uma conta de usuário MySQLi

Para adicionar um novo usuário ao MySQLi, que é uma versão aprimorada do MySQL, você só precisa adicionar uma nova entrada para user tabela no banco de dados mysql.

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

root@host# 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 adicionará o usuáriozara com senha zara123 para um banco de dados específico chamado TUTORIALS.

root@host# 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 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 MySQLi

Aqui está a lista de comandos importantes do MySQLi, 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 específico na área de trabalho do MySQLi.

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

  • 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 DBMS MySQLi.