Post

Survivor MySQL

Survivor MySQL

Comando útiles MySQL.

Mostrar usuarios de una base de datos:

1
2
MySQL     : SELECT User,Host FROM mysql.user;
PostgreSQL: SELECT * FROM pg_user;

Mostrar bases de datos disponibles:

1
2
MySQL     : SHOW DATABASES;
PostgreSQL: \l

Mostrar las tablas de la base de datos nextcloud:

1
2
MySQL     : USE nextcloud; SHOW TABLES;
PostgreSQL: \c nextcloud; \d

Quit Database:

1
2
MySQL     : quit
PostgreSQL: \q

Info sacada de aquí:

1
https://docs.nextcloud.com/server/15/admin_manual/configuration_database/linux_database_configuration.html

Resetear password de root:

A quien no le ha pasado, vamos a ello:

systemctl stop mariadb mysqld_safe –skip-grant-tables & mysqld_safe –skip-grant-tables –skip-networking &( si nos queremos asegurar que no pueda entrar nadie) mysql -u root

FLUSH PRIVILEGES;

Encontre esta info, no recuerdo de donde la saqué:

1
2
3
4
5
For MySQL 5.7.6 and newer as well as MariaDB 10.1.20 and newer, use the following command:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

For MySQL 5.7.5 and older as well as MariaDB 10.1.20 and older, use:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

A mi, me ha funcionado este:

1
2
UPDATE mysql.user SET authentication_string = PASSWORD('password') WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
1
2
3
MariaDB [(none)]> USE mysql;
MariaDB [(none)]> UPDATE user SET password=PASSWORD('YourNewPasswordHere') WHERE User='root' AND Host = 'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;

Ahora matar el proceso mysqld_safe –skip-grant-tables

1
2
kill -9
systemctl start mariadb

Y listos, ya tendriamos la pass cambiada.

Ahora damos acceso desde cualquier parte:

1
GRANT ALL PRIVILEGES ON bbdd.* TO 'usuariobbdd'@'%';

Damos acceso solo a un usuaro, y solo desde una ip:

1
GRANT ALL PRIVILEGES ON *.* TO 'USUARIO'@'IPHOST' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

Operativa con usuarios y bbdd:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE USER 'USUARIO'@'%' IDENTIFIED BY 'PASSWORD';
grant select BBDD.* to 'USUARIO'@'%';
GRANT SELECT ON BBDD.* TO 'USUARIO'@'%';
FLUSH PRIVILEGES;

REVOKE ALL PRIVILEGES ON *.* FROM 'USUARIO'@'%';

UPDATE 

DROP USER 'USUARIO'@'localhost';
DROP USER 'USUARIO'@'%';
delete FROM mysql.user where User = 'USUARIO' and Host != '%';


CREATE USER 'usuario'@'localhost' IDENTIFIED VIA mysql_native_password;
SET PASSWORD FOR 'usuario'@'localhost' = PASSWORD('password');
CREATE DATABASE IF NOT EXISTS `database`;
GRANT ALL PRIVILEGES ON `database`.* TO 'usuario'@'localhost';

Si da problemas al importar una bbdd por tema de codificacion (utf8 etc etc)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
show variables like '%collation%';
show variables like '%char%';


MariaDB [(none)]> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)

MariaDB [(none)]> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)



mysql> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----
------------------+-------------------+
3 rows in set (0.00 sec)

mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';

1
2
3
4
SELECT User,Host FROM mysql.user, where User=bp;

update mysql.user
set Host = 

Si quiero importar todas las BBDD de un sql :

1
mysqldump -uroot -p --all-databases > dumpeo.sql

Si solo una:

1
mysqldump -uroot -p database > dumpeo.sql

Si no se cuales hay, voy a verlas:

1
2
mysql -uroot -p
show databases;
1
DROP DATABASE nombre bbdd
This post is licensed under CC BY 4.0 by the author.