MySQL / MariaDB - Instalação a administração
Início
1. Como se instala o MySQL
A maioria dos pacotes permite a sua instalação imediata.
O acesso ao MySQL é feito através do serviço 'mysqld' que utiliza para
configuração o ficheiro 'my.cnf'. É igualmente possível ter-se um ficheiro
adicional de configuração para cada utilizador. Esse ficheiro deverá estar na
directoria principal do utilizador e ter o nome: '~/.my.cnf'.
É conveniente atribuir uma password ao seu utilizador root.
Início
2. Em que pasta estão por defeito as bases de dados. Como alterá-las?
Em que pasta estão por defeito as bases de dados. Como alterá-las?
Início
3. Como exportar e importar uma base de dados
A exportação de bases de dados é feita usando o programa mysqldump enquanto a
importação é feita com mysql.
- Exportação:
mysqldump -u [username] -p [DB_name] > [Ficheiro_de_saida]
- Importação:
mysql -u [username] -p [DB_name] < [Ficheiro_de_saida]
Nota: Não esquecer que antes de importar uma base de dados é necessário criá-la dentro da MySQL.
Além disso, também poderá querer-lhe associar um ou mais utilizadores privilegiados (GRANT). Tenha ainda em conta que
se o utilizador não existeir deve criá-lo previamente. Por exemplo:
CREATE DATABASE DB_name DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Para criar (se necessário) e atribuir privilégios de leitura e escrita:
use DB_name
CREATE USER 'User_Name'@'localhost' IDENTIFIED BY 'User_Password';
GRANT SELECT, INSERT, UPDATE, DELETE ON DB_name.* TO 'User_Name'@'localhost';
FLUSH PRIVILEGES;
Se quiser atribuir todos os privilégios pode fazer fazer:
GRANT ALL PRIVILEGES ON DB_name.* TO 'User_Name'@'localhost';
Início
4. Como pôr a 'password' de 'root'
- Quando se usa pela primeira vez
Depois da instalação do MySQL, é necessário atribuir uma password ao seu utilizador 'root'.
Para tal, executar os seguintes comandos no terminal:
$ mysql -u root
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'a_sua_password';
- Para fazer o reset da password de 'root' do MySQL
Para fazer o reset da password de 'root', siga os passos dos seguintes sites:
https://linuxhint.com/change-mysql-password-ubuntu-22-04/
https://trendoceans.com/solve-error-1698-28000/
Início
5. Mostrar informação do sistema (SHOW)
O comando 'SHOW' permite mostrar informação do sistema.
- SHOW VARIABLES
A seguir mostram-se alguns exemplos com
a informação contida nas variáveis:
- Tipo de caracteres actual
SHOW VARIABLES LIKE 'character_set_system';
- Pasta em que são guardadas as bases de dados
SHOW VARIABLES LIKE 'datadir';
- Nome do computador
SHOW VARIABLES LIKE 'hostname';
- Mostra a versão
SHOW VARIABLES LIKE 'version';
- Mostra informações da versão
SHOW VARIABLES LIKE 'version%';
Nota: Para ver todas as variáveis fazer:
SHOW VARIABLES LIKE '%';
- SHOW WARNINGS
- Mostra os avisos (warnings):
SHOW WARNINGS;
Início
6. Criar, alterar e mostrar informação dos utilizadores
- Criar um utilizador
CREATE USER 'userName'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
- Atribuir todos os privilégios a um utilizador:
GRANT ALL PRIVILEGES ON databaseName.* TO 'userName'@'%';
- Para atribuir privilégios de leitura e escrita a um utilizador:
GRANT SELECT, INSERT, UPDATE, DELETE ON DB_name.* TO 'User_Name'@'localhost';
- Apagar utilizador. Para apagar um utilizador deve-se primeiro remover os 'grants'
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'userName'@'localhost';
DROP USER 'userName'@'localhost';
- Mostrar utilizadores
SELECT user,host FROM mysql.user;
- Mostrar 'grants' de um utilizador
SHOW GRANTS FOR 'userName'@'localhost';
- Mostrar o utilizador actual
SELECT current_user();
- Atribuir 'grants' a um utilizador
SELECT current_user();
Início