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.