MySQLi - Administración

Ejecutar y apagar MySQLi Server

MySQLi es una extensión de MySQL, así que primero verifique si su servidor MySQL se está ejecutando o no. Puede usar el siguiente comando para verificar esto:

ps -ef | grep mysqld

Si su MySql se está ejecutando, verá mysqldproceso enumerado en su resultado. Si el servidor no se está ejecutando, puede iniciarlo con el siguiente comando:

[email protected]# cd /usr/bin
./safe_mysqld &

Ahora, si desea cerrar un servidor MySQL que ya se está ejecutando, puede hacerlo usando el siguiente comando:

[email protected]# cd /usr/bin
./mysqladmin -u root -p shutdown
Enter password: ******

Configuración de una cuenta de usuario de MySQLi

Para agregar un nuevo usuario a MySQLi, que es una versión mejorada de MySQL, solo necesita agregar una nueva entrada a user tabla en la base de datos mysql.

A continuación se muestra un ejemplo de cómo agregar un nuevo usuario guest con privilegios SELECT, INSERT y UPDATE con la contraseña guest123; la consulta SQL es -

[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)

Al agregar un nuevo usuario, recuerde encriptar la nueva contraseña usando la función PASSWORD () proporcionada por MySQL. Como puede ver en el ejemplo anterior, la contraseña mypass está cifrada en 6f8c114b58f2ce9e.

Observe la declaración FLUSH PRIVILEGES. Esto le dice al servidor que vuelva a cargar las tablas de concesión. Si no lo usa, no podrá conectarse a mysql con la nueva cuenta de usuario al menos hasta que se reinicie el servidor.

También puede especificar otros privilegios para un nuevo usuario estableciendo los valores de las siguientes columnas en la tabla de usuarios en 'Y' al ejecutar la consulta INSERT o puede actualizarlos más tarde usando la 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

Otra forma de agregar una cuenta de usuario es mediante el comando GRANT SQL; el siguiente ejemplo agregará usuariozara con contraseña zara123 para una base de datos en particular llamada 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';

Esto también creará una entrada en la tabla de la base de datos mysql llamada user.

NOTE - MySQL no finaliza un comando hasta que le da un punto y coma (;) al final del comando SQL.

La configuración del archivo /etc/my.cnf

La mayoría de los casos, no debe tocar este archivo. De forma predeterminada, tendrá las siguientes 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

Aquí, puede especificar un directorio diferente para el registro de errores; de lo contrario, no debe cambiar ninguna entrada en esta tabla.

Comando administrativo MySQLi

Aquí está la lista de comandos importantes de MySQLi, que usará de vez en cuando para trabajar con la base de datos MySQL:

  • USE Databasename - Esto se utilizará para seleccionar una base de datos en particular en el área de trabajo de MySQLi.

  • SHOW DATABASES - Lista las bases de datos a las que puede acceder MySQLi DBMS.

  • SHOW TABLES - Muestra las tablas en la base de datos una vez que se ha seleccionado una base de datos con el comando de uso.

  • SHOW COLUMNS FROM tablename - Muestra los atributos, tipos de atributos, información clave, si se permite NULL, valores predeterminados y otra información para una tabla.

  • SHOW INDEX FROM tablename - Presenta los detalles de todos los índices de la tabla, incluida la CLAVE PRIMARIA.

  • SHOW TABLE STATUS LIKE tablename\G - Reporta detalles del rendimiento y estadísticas de MySQLi DBMS.