Saltar al contenido principal

MySQL

MySQL é un sistema xestor de bases de datos relacional. Nas bases de datos relacionais a información gárdase en táboas. Existen outros tipos de bases de datos segundo as necesidades, pero as máis empregadas na actualidade son as relacionais.

Instalación

Antes de instalar MySQL, debemos actualizar o repositorio:

$ sudo apt-get update
Saída do comando
$ sudo apt-get update
Obj:1 http://es.archive.ubuntu.com/ubuntu groovy InRelease
Des:2 http://es.archive.ubuntu.com/ubuntu groovy-updates InRelease [106 kB]
Obj:3 http://es.archive.ubuntu.com/ubuntu groovy-backports InRelease
Des:4 http://security.ubuntu.com/ubuntu groovy-security InRelease [108 kB]
Des:5 http://es.archive.ubuntu.com/ubuntu groovy-updates/main i386 Packages [16,3 kB]
Des:6 http://es.archive.ubuntu.com/ubuntu groovy-updates/main amd64 Packages [58,9 kB]
Des:7 http://es.archive.ubuntu.com/ubuntu groovy-updates/main Translation-en [13,9 kB]
Des:8 http://es.archive.ubuntu.com/ubuntu groovy-updates/main amd64 DEP-11 Metadata [2.584 B]
Des:9 http://es.archive.ubuntu.com/ubuntu groovy-updates/main amd64 c-n-f Metadata [876 B]
Des:10 http://es.archive.ubuntu.com/ubuntu groovy-updates/restricted i386 Packages [2.576 B]
Des:11 http://es.archive.ubuntu.com/ubuntu groovy-updates/restricted amd64 Packages [29,5 kB]
Des:12 http://es.archive.ubuntu.com/ubuntu groovy-updates/restricted Translation-en [5.636 B]
Des:13 http://es.archive.ubuntu.com/ubuntu groovy-updates/restricted amd64 c-n-f Metadata [292 B]
Des:14 http://es.archive.ubuntu.com/ubuntu groovy-updates/universe i386 Packages [11,1 kB]
Des:15 http://es.archive.ubuntu.com/ubuntu groovy-updates/universe amd64 Packages [12,2 kB]
Des:16 http://es.archive.ubuntu.com/ubuntu groovy-updates/universe Translation-en [4.064 B]
Des:17 http://es.archive.ubuntu.com/ubuntu groovy-updates/universe amd64 DEP-11 Metadata [1.808 B]
Des:18 http://es.archive.ubuntu.com/ubuntu groovy-updates/universe DEP-11 48x48 Icons [5.648 B]
Des:19 http://es.archive.ubuntu.com/ubuntu groovy-updates/universe amd64 c-n-f Metadata [688 B]
Des:20 http://security.ubuntu.com/ubuntu groovy-security/main i386 Packages [13,4 kB]
Des:21 http://security.ubuntu.com/ubuntu groovy-security/main amd64 Packages [31,9 kB]
Des:22 http://security.ubuntu.com/ubuntu groovy-security/main Translation-en [7.344 B]
Des:23 http://security.ubuntu.com/ubuntu groovy-security/main amd64 DEP-11 Metadata [2.580 B]
Des:24 http://security.ubuntu.com/ubuntu groovy-security/main amd64 c-n-f Metadata [716 B]
Des:25 http://security.ubuntu.com/ubuntu groovy-security/universe amd64 Packages [12,2 kB]
Des:26 http://security.ubuntu.com/ubuntu groovy-security/universe i386 Packages [11,1 kB]
Des:27 http://security.ubuntu.com/ubuntu groovy-security/universe Translation-en [4.064 B]
Des:28 http://security.ubuntu.com/ubuntu groovy-security/universe amd64 DEP-11 Metadata [1.804 B]
Des:29 http://security.ubuntu.com/ubuntu groovy-security/universe DEP-11 48x48 Icons [5.648 B]
Des:30 http://security.ubuntu.com/ubuntu groovy-security/universe amd64 c-n-f Metadata [688 B]
Descargados 472 kB en 2s (194 kB/s)
Leyendo lista de paquetes... Hecho

Instalamos MySQL:

$ sudo apt-get install mysql-server
Saída do comando
$ sudo apt-get install mysql-server
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes adicionales:
libaio1 libcgi-fast-perl libcgi-pm-perl libevent-core-2.1-7
libevent-pthreads-2.1-7 libfcgi-perl libhtml-template-perl libmecab2
libprotobuf-lite23 mecab-ipadic mecab-ipadic-utf8 mecab-utils
mysql-client-8.0 mysql-client-core-8.0 mysql-server-8.0
mysql-server-core-8.0
Paquetes sugeridos:
libipc-sharedcache-perl mailx tinyca
Se instalarán los siguientes paquetes NUEVOS:
libaio1 libcgi-fast-perl libcgi-pm-perl libevent-core-2.1-7
libevent-pthreads-2.1-7 libfcgi-perl libhtml-template-perl libmecab2
libprotobuf-lite23 mecab-ipadic mecab-ipadic-utf8 mecab-utils
mysql-client-8.0 mysql-client-core-8.0 mysql-server mysql-server-8.0
mysql-server-core-8.0
0 actualizados, 17 nuevos se instalarán, 0 para eliminar y 3 no actualizados.
Se necesita descargar 30,1 MB de archivos.
Se utilizarán 245 MB de espacio de disco adicional después de esta operación.
¿Desea continuar? [S/n] s
Des:1 http://es.archive.ubuntu.com/ubuntu groovy-updates/main amd64 mysql-client-core-8.0 amd64 8.0.22-0ubuntu0.20.10.2 [4.192 kB]
Des:2 http://es.archive.ubuntu.com/ubuntu groovy-updates/main amd64 mysql-client-8.0 amd64 8.0.22-0ubuntu0.20.10.2 [22,0 kB]
Des:3 http://es.archive.ubuntu.com/ubuntu groovy/main amd64 libaio1 amd64 0.3.112-8 [7.488 B]
Des:4 http://es.archive.ubuntu.com/ubuntu groovy/main amd64 libevent-core-2.1-7 amd64 2.1.12-stable-1 [89,4 kB]
Des:5 http://es.archive.ubuntu.com/ubuntu groovy/main amd64 libevent-pthreads-2.1-7 amd64 2.1.12-stable-1 [7.364 B]
Des:6 http://es.archive.ubuntu.com/ubuntu groovy/main amd64 libmecab2 amd64 0.996-14 [233 kB]
Des:7 http://es.archive.ubuntu.com/ubuntu groovy/main amd64 libprotobuf-lite23 amd64 3.12.3-2ubuntu2 [193 kB]
Des:8 http://es.archive.ubuntu.com/ubuntu groovy-updates/main amd64 mysql-server-core-8.0 amd64 8.0.22-0ubuntu0.20.10.2 [17,0 MB]
Des:9 http://es.archive.ubuntu.com/ubuntu groovy-updates/main amd64 mysql-server-8.0 amd64 8.0.22-0ubuntu0.20.10.2 [1.310 kB]
Des:10 http://es.archive.ubuntu.com/ubuntu groovy/main amd64 libcgi-pm-perl all 4.50-1 [186 kB]
Des:11 http://es.archive.ubuntu.com/ubuntu groovy/main amd64 libfcgi-perl amd64 0.79-1 [33,1 kB]
Des:12 http://es.archive.ubuntu.com/ubuntu groovy/main amd64 libcgi-fast-perl all 1:2.15-1 [10,5 kB]
Des:13 http://es.archive.ubuntu.com/ubuntu groovy/main amd64 libhtml-template-perl all 2.97-1 [59,0 kB]
Des:14 http://es.archive.ubuntu.com/ubuntu groovy/main amd64 mecab-utils amd64 0.996-14 [4.912 B]
Des:15 http://es.archive.ubuntu.com/ubuntu groovy/main amd64 mecab-ipadic all 2.7.0-20070801+main-3 [6.718 kB]
Des:16 http://es.archive.ubuntu.com/ubuntu groovy/main amd64 mecab-ipadic-utf8 all 2.7.0-20070801+main-3 [4.384 B]
Des:17 http://es.archive.ubuntu.com/ubuntu groovy-updates/main amd64 mysql-server all 8.0.22-0ubuntu0.20.10.2 [9.544 B]
Descargados 30,1 MB en 54s (558 kB/s)
Preconfigurando paquetes ...
Seleccionando el paquete mysql-client-core-8.0 previamente no seleccionado.
(Leyendo la base de datos ... 152828 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../00-mysql-client-core-8.0_8.0.22-0ubuntu0.20.10.2_amd64.deb ...
Desempaquetando mysql-client-core-8.0 (8.0.22-0ubuntu0.20.10.2) ...
Seleccionando el paquete mysql-client-8.0 previamente no seleccionado.
Preparando para desempaquetar .../01-mysql-client-8.0_8.0.22-0ubuntu0.20.10.2_amd64.deb ...
Desempaquetando mysql-client-8.0 (8.0.22-0ubuntu0.20.10.2) ...
Seleccionando el paquete libaio1:amd64 previamente no seleccionado.
Preparando para desempaquetar .../02-libaio1_0.3.112-8_amd64.deb ...
Desempaquetando libaio1:amd64 (0.3.112-8) ...
Seleccionando el paquete libevent-core-2.1-7:amd64 previamente no seleccionado.
Preparando para desempaquetar .../03-libevent-core-2.1-7_2.1.12-stable-1_amd64.deb ...
Desempaquetando libevent-core-2.1-7:amd64 (2.1.12-stable-1) ...
Seleccionando el paquete libevent-pthreads-2.1-7:amd64 previamente no seleccionado.
Preparando para desempaquetar .../04-libevent-pthreads-2.1-7_2.1.12-stable-1_amd64.deb ...
Desempaquetando libevent-pthreads-2.1-7:amd64 (2.1.12-stable-1) ...
Seleccionando el paquete libmecab2:amd64 previamente no seleccionado.
Preparando para desempaquetar .../05-libmecab2_0.996-14_amd64.deb ...
Desempaquetando libmecab2:amd64 (0.996-14) ...
Seleccionando el paquete libprotobuf-lite23:amd64 previamente no seleccionado.
Preparando para desempaquetar .../06-libprotobuf-lite23_3.12.3-2ubuntu2_amd64.deb ...
Desempaquetando libprotobuf-lite23:amd64 (3.12.3-2ubuntu2) ...
Seleccionando el paquete mysql-server-core-8.0 previamente no seleccionado.
Preparando para desempaquetar .../07-mysql-server-core-8.0_8.0.22-0ubuntu0.20.10.2_amd64.deb ...
Desempaquetando mysql-server-core-8.0 (8.0.22-0ubuntu0.20.10.2) ...
Seleccionando el paquete mysql-server-8.0 previamente no seleccionado.
Preparando para desempaquetar .../08-mysql-server-8.0_8.0.22-0ubuntu0.20.10.2_amd64.deb ...
Desempaquetando mysql-server-8.0 (8.0.22-0ubuntu0.20.10.2) ...
Seleccionando el paquete libcgi-pm-perl previamente no seleccionado.
Preparando para desempaquetar .../09-libcgi-pm-perl_4.50-1_all.deb ...
Desempaquetando libcgi-pm-perl (4.50-1) ...
Seleccionando el paquete libfcgi-perl previamente no seleccionado.
Preparando para desempaquetar .../10-libfcgi-perl_0.79-1_amd64.deb ...
Desempaquetando libfcgi-perl (0.79-1) ...
Seleccionando el paquete libcgi-fast-perl previamente no seleccionado.
Preparando para desempaquetar .../11-libcgi-fast-perl_1%3a2.15-1_all.deb ...
Desempaquetando libcgi-fast-perl (1:2.15-1) ...
Seleccionando el paquete libhtml-template-perl previamente no seleccionado.
Preparando para desempaquetar .../12-libhtml-template-perl_2.97-1_all.deb ...
Desempaquetando libhtml-template-perl (2.97-1) ...
Seleccionando el paquete mecab-utils previamente no seleccionado.
Preparando para desempaquetar .../13-mecab-utils_0.996-14_amd64.deb ...
Desempaquetando mecab-utils (0.996-14) ...
Seleccionando el paquete mecab-ipadic previamente no seleccionado.
Preparando para desempaquetar .../14-mecab-ipadic_2.7.0-20070801+main-3_all.deb ...
Desempaquetando mecab-ipadic (2.7.0-20070801+main-3) ...
Seleccionando el paquete mecab-ipadic-utf8 previamente no seleccionado.
Preparando para desempaquetar .../15-mecab-ipadic-utf8_2.7.0-20070801+main-3_all.deb ...
Desempaquetando mecab-ipadic-utf8 (2.7.0-20070801+main-3) ...
Seleccionando el paquete mysql-server previamente no seleccionado.
Preparando para desempaquetar .../16-mysql-server_8.0.22-0ubuntu0.20.10.2_all.deb ...
Desempaquetando mysql-server (8.0.22-0ubuntu0.20.10.2) ...
Configurando libmecab2:amd64 (0.996-14) ...
Configurando mysql-client-core-8.0 (8.0.22-0ubuntu0.20.10.2) ...
Configurando libcgi-pm-perl (4.50-1) ...
Configurando libhtml-template-perl (2.97-1) ...
Configurando libprotobuf-lite23:amd64 (3.12.3-2ubuntu2) ...
Configurando mecab-utils (0.996-14) ...
Configurando libevent-core-2.1-7:amd64 (2.1.12-stable-1) ...
Configurando mysql-client-8.0 (8.0.22-0ubuntu0.20.10.2) ...
Configurando libfcgi-perl (0.79-1) ...
Configurando libaio1:amd64 (0.3.112-8) ...
Configurando libevent-pthreads-2.1-7:amd64 (2.1.12-stable-1) ...
Configurando mecab-ipadic (2.7.0-20070801+main-3) ...
Compiling IPA dictionary for Mecab. This takes long time...
reading /usr/share/mecab/dic/ipadic/unk.def ... 40
emitting double-array: 100% |###########################################|
/usr/share/mecab/dic/ipadic/model.def is not found. skipped.
reading /usr/share/mecab/dic/ipadic/Noun.org.csv ... 16668
reading /usr/share/mecab/dic/ipadic/Interjection.csv ... 252
reading /usr/share/mecab/dic/ipadic/Adverb.csv ... 3032
reading /usr/share/mecab/dic/ipadic/Suffix.csv ... 1393
reading /usr/share/mecab/dic/ipadic/Noun.adverbal.csv ... 795
reading /usr/share/mecab/dic/ipadic/Adnominal.csv ... 135
reading /usr/share/mecab/dic/ipadic/Noun.verbal.csv ... 12146
reading /usr/share/mecab/dic/ipadic/Noun.others.csv ... 151
reading /usr/share/mecab/dic/ipadic/Noun.proper.csv ... 27328
reading /usr/share/mecab/dic/ipadic/Noun.name.csv ... 34202
reading /usr/share/mecab/dic/ipadic/Filler.csv ... 19
reading /usr/share/mecab/dic/ipadic/Prefix.csv ... 221
reading /usr/share/mecab/dic/ipadic/Noun.place.csv ... 72999
reading /usr/share/mecab/dic/ipadic/Adj.csv ... 27210
reading /usr/share/mecab/dic/ipadic/Noun.adjv.csv ... 3328
reading /usr/share/mecab/dic/ipadic/Symbol.csv ... 208
reading /usr/share/mecab/dic/ipadic/Auxil.csv ... 199
reading /usr/share/mecab/dic/ipadic/Noun.nai.csv ... 42
reading /usr/share/mecab/dic/ipadic/Others.csv ... 2
reading /usr/share/mecab/dic/ipadic/Postp.csv ... 146
reading /usr/share/mecab/dic/ipadic/Conjunction.csv ... 171
reading /usr/share/mecab/dic/ipadic/Noun.demonst.csv ... 120
reading /usr/share/mecab/dic/ipadic/Verb.csv ... 130750
reading /usr/share/mecab/dic/ipadic/Noun.number.csv ... 42
reading /usr/share/mecab/dic/ipadic/Postp-col.csv ... 91
reading /usr/share/mecab/dic/ipadic/Noun.csv ... 60477
emitting double-array: 100% |###########################################|
reading /usr/share/mecab/dic/ipadic/matrix.def ... 1316x1316
emitting matrix : 100% |###########################################|

done!
update-alternatives: utilizando /var/lib/mecab/dic/ipadic para proveer /var/lib/mecab/dic/debian (mecab-dictionary) en modo automático
Configurando libcgi-fast-perl (1:2.15-1) ...
Configurando mysql-server-core-8.0 (8.0.22-0ubuntu0.20.10.2) ...
Configurando mecab-ipadic-utf8 (2.7.0-20070801+main-3) ...
Compiling IPA dictionary for Mecab. This takes long time...
reading /usr/share/mecab/dic/ipadic/unk.def ... 40
emitting double-array: 100% |###########################################|
/usr/share/mecab/dic/ipadic/model.def is not found. skipped.
reading /usr/share/mecab/dic/ipadic/Noun.org.csv ... 16668
reading /usr/share/mecab/dic/ipadic/Interjection.csv ... 252
reading /usr/share/mecab/dic/ipadic/Adverb.csv ... 3032
reading /usr/share/mecab/dic/ipadic/Suffix.csv ... 1393
reading /usr/share/mecab/dic/ipadic/Noun.adverbal.csv ... 795
reading /usr/share/mecab/dic/ipadic/Adnominal.csv ... 135
reading /usr/share/mecab/dic/ipadic/Noun.verbal.csv ... 12146
reading /usr/share/mecab/dic/ipadic/Noun.others.csv ... 151
reading /usr/share/mecab/dic/ipadic/Noun.proper.csv ... 27328
reading /usr/share/mecab/dic/ipadic/Noun.name.csv ... 34202
reading /usr/share/mecab/dic/ipadic/Filler.csv ... 19
reading /usr/share/mecab/dic/ipadic/Prefix.csv ... 221
reading /usr/share/mecab/dic/ipadic/Noun.place.csv ... 72999
reading /usr/share/mecab/dic/ipadic/Adj.csv ... 27210
reading /usr/share/mecab/dic/ipadic/Noun.adjv.csv ... 3328
reading /usr/share/mecab/dic/ipadic/Symbol.csv ... 208
reading /usr/share/mecab/dic/ipadic/Auxil.csv ... 199
reading /usr/share/mecab/dic/ipadic/Noun.nai.csv ... 42
reading /usr/share/mecab/dic/ipadic/Others.csv ... 2
reading /usr/share/mecab/dic/ipadic/Postp.csv ... 146
reading /usr/share/mecab/dic/ipadic/Conjunction.csv ... 171
reading /usr/share/mecab/dic/ipadic/Noun.demonst.csv ... 120
reading /usr/share/mecab/dic/ipadic/Verb.csv ... 130750
reading /usr/share/mecab/dic/ipadic/Noun.number.csv ... 42
reading /usr/share/mecab/dic/ipadic/Postp-col.csv ... 91
reading /usr/share/mecab/dic/ipadic/Noun.csv ... 60477
emitting double-array: 100% |###########################################|
reading /usr/share/mecab/dic/ipadic/matrix.def ... 1316x1316
emitting matrix : 100% |###########################################|

done!
update-alternatives: utilizando /var/lib/mecab/dic/ipadic-utf8 para proveer /var/lib/mecab/dic/debian (mecab-dictionary) en modo automático
Configurando mysql-server-8.0 (8.0.22-0ubuntu0.20.10.2) ...
update-alternatives: utilizando /etc/mysql/mysql.cnf para proveer /etc/mysql/my.cnf (my.cnf) en modo automático
Renaming removed key_buffer and myisam-recover options (if present)
mysqld will log errors to /var/log/mysql/error.log
mysqld is running as pid 3080
Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service.
Configurando mysql-server (8.0.22-0ubuntu0.20.10.2) ...
Procesando disparadores para systemd (246.6-1ubuntu1) ...
Procesando disparadores para man-db (2.9.3-2) ...
Procesando disparadores para libc-bin (2.32-0ubuntu3) ...

Da mesma forma que ocorre con Apache Server, MySQL execútase como un servizo. Podemos comprobar o seu estado co seguinte comando:

$ systemctl status mysql
Exemplo de saída do comando
$ systemctl status mysql
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-10-31 11:23:07 CET; 3min 13s ago
Main PID: 3321 (mysqld)
Status: "Server is operational"
Tasks: 37 (limit: 4615)
Memory: 332.9M
CGroup: /system.slice/mysql.service
└─3321 /usr/sbin/mysqld

oct 31 11:23:07 pc systemd[1]: Starting MySQL Community Server...
oct 31 11:23:07 pc systemd[1]: Started MySQL Community Server.

Para poder conectar PHP con MySQL, é necesario instalar o paquete php7.4-mysql:

$ sudo apt-get install php7.4-mysql
Saída do comando
$ sudo apt-get install php7.4-mysql
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes NUEVOS:
php7.4-mysql
0 actualizados, 1 nuevos se instalarán, 0 para eliminar y 3 no actualizados.
Se necesita descargar 121 kB de archivos.
Se utilizarán 474 kB de espacio de disco adicional después de esta operación.
Des:1 http://es.archive.ubuntu.com/ubuntu groovy-updates/main amd64 php7.4-mysql amd64 7.4.9-1ubuntu1.1 [121 kB]
Descargados 121 kB en 0s (259 kB/s)
Seleccionando el paquete php7.4-mysql previamente no seleccionado.
(Leyendo la base de datos ... 153196 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../php7.4-mysql_7.4.9-1ubuntu1.1_amd64.deb ...
Desempaquetando php7.4-mysql (7.4.9-1ubuntu1.1) ...
Configurando php7.4-mysql (7.4.9-1ubuntu1.1) ...

Creating config file /etc/php/7.4/mods-available/mysqlnd.ini with new version

Creating config file /etc/php/7.4/mods-available/mysqli.ini with new version

Creating config file /etc/php/7.4/mods-available/pdo_mysql.ini with new version
Procesando disparadores para libapache2-mod-php7.4 (7.4.9-1ubuntu1.1) ...
Procesando disparadores para php7.4-cli (7.4.9-1ubuntu1.1) ...

Despois da instalación, reiniciamos Apache:

$ sudo systemctl restart apache2

Por último, aplicamos a configuración de seguridade para MySQL:

$ sudo mysql_secure_installation
Saída do comando
$ sudo mysql_secure_installation

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Please set the password for root here.

New password:

Re-enter new password:

Estimated strength of the password: 25
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database...
Success.

- Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

Seguimos os pasos que se mostran na saída do comando.

Para comprobar que todo se levou a cabo correctamente, introducimos o seguinte comando:

$ sudo mysql
Saída do comando
$ sudo mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.22-0ubuntu0.20.10.2 (Ubuntu)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Abrirase unha nova consola. Para saír dela, introducimos o seguinte comando:

mysql> exit

Crear un usuario de MySQL

Para crear un usuario de MySQL, debemos abrir a consola de MySQL:

$ sudo mysql

Introducimos o seguinte comando para crear un novo usuario web na base de datos:

mysql> CREATE USER 'web'@'localhost' IDENTIFIED BY 'abc123.ABC123.';

O contrasinal do usuario web creado é abc123.ABC123.. Se introducimos un contrasinal débil mostraranos un error.

Asignámoslle todos os privilexios:

mysql> GRANT ALL PRIVILEGES ON * . * TO 'web'@'localhost';

Actualiamos os privilexios:

mysql> FLUSH PRIVILEGES;

Comprobamos que o usuario se creou correctamente:

mysql> select host, user from mysql.user;
Saída do comando
mysql> select host, user from mysql.user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| localhost | debian-sys-maint |
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
| localhost | web |
+-----------+------------------+
6 rows in set (0.00 sec)

Se o usuario se creou correctamente, debe aparecer unha fila na cal apareza web.

Crear unha base de datos

Para consultar as bases de datos existentes, executamos:

mysql> SHOW DATABASES;
Saída do comando
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)

Creamos una nova base de datos wordpress:

mysql> CREATE DATABASE wordpress;
Saída do comando
mysql> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.01 sec)

Comprobamos que está creada correctamente:

mysql> SHOW DATABASES;
Saída do comando
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| wordpress |
+--------------------+
5 rows in set (0.00 sec)

Se a base de datos se creou correctamente, debe aparecer unha fila na cal apareza wordpress.

Eliminar unha base de datos

Se nalgún momento necesitamos eliminar a base de datos, temos que executar:

mysql> DROP DATABASE wordpress;