Administrar MySQL Server con MySQL Workbench, crear usuarios, crear bases de datos, crear tablas

Administrar MySQL Server con MySQL Workbench, crear usuarios, crear bases de datos, crear tablas El asistente para instalar MySQL Community Server hab...
17 downloads 3 Views 3MB Size
Administrar MySQL Server con MySQL Workbench, crear usuarios, crear bases de datos, crear tablas El asistente para instalar MySQL Community Server habrá creado una conexión para el servidor local llamada "Local MySQL56". Desde la ventana de inicio de MySQL Workbench podremos crear todas las conexiones que necesitemos a cualquier servidor de MySQL pulsando en "Now Server Instance" para conexiones al administrador de MySQL Server y "New Connection" para ejecutar consultas SQL (crear tablas, modificar registros, consultas de selección).

Administrar MySQL Server 5.6 con MySQL Workbench Inicialmente accederemos a administrar el servidor local de MySQL Server 5.6, para ello haremos doble clic sobre "Local MySQL5.6" en "Server Administration":

Introduciremos la contraseña del usuario "root" establecida en la instalación de MySQL Server 5.6:

Se abrirá la conexión al servidor, MySQL Workbench nos mostrará información básica de la instancia en "Server Status": la versión del servidor, el estado, varios gráficos de rendimiento (uso de CPU, uso de memoria, uso de conexiones, tráfico, caché de consultas) así como todos los usuarios de la base de datos conectados actualmente, a qué base de datos, desde qué host, el estado e información adicional como últimas consultas SQL ejecutadas:

En "Start / Shutdown" podremos comprobar el estado del servicio de MySQL y detenerlo pulsando en "Stop Server" (se anularán todas las conexiones y transacciones actuales). Desde esta ventana también podremos ver el log de los mensajes de inicio de MySQL Server:

Desde "Option File" en "CONFIGURATION" podremos modificar y consultar el estado de los parámetros del servidor MySQL Server (parámetros generales como la ubicación de los ficheors de datos (datadir), ficheros temporales (tmpdir), logging, InnoDB, networking, advanced, other, security, replication, MyISAM, performance). Dichos parámetros se almacenan en el fichero my.ini, en la parte inferior de esta ventana mostrará la ubicación y nombre del fichero de configuración, por defecto en Windows 7: C:/Archivos de programa/MySQL/MySQL Server 5.6/my.ini

Desde "Data Export" en "DATA EXPORT / RESTORE" podremos exportar las bases de datos y tablas de cada base de datos que seleccionaremos a un fichero SQL de forma sencilla:

Desde "Data Import/Restore" podremos recuperar datos guardados en ficheros SQL y pasarlos al servidor MySQL Server:

Crear usuario y establecer permisos de MySQL Server con MySQL Workbench En MySQL Workbench, en la administración del servidor, pulsaremos en "SECURITY" - "Users and Privileges" para administrar los usurios de MySQL Server (crear, eliminar y modificar usuarios y permisos). Para añadir un nuevo usuario de MySQL Server pulsaremos en "Add Account":

Introduciremos los datos del usuario en la pestaña "Login":   

 

Login Name: nombre de usuario para iniciar sesión (nickname). Authentication Type: tipo de autenticación (Standard, Standar (old), SHA256 Password). Limit Connectivity to Hosts Matching: en este campo podremos indicar desde qué subred o IP permitiremos el acceso al usuario, indicando "%" el usuario podrá acceder desde cualquier PC de la red. Password: contraseña para el usuario. Confirm Password: contraseña para el usuario.

En la pestaña "Administrative Roles" podremos indicar el rol para el usuario (DBA, MaintenanceAdmin, ProcessAdmin, UserAdmin, SecurityAdmin, MonitorAdmin, DBManager, DBDesigner, ReplicationAdmin, BackupAdmin), según cada rol se le establecerán unos permisos u otros (ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TABLESPACE, CREATE TEMPORARY TABLES, CREATE USER, CRETE VIEW, DELETE, DROP, EVENT, EXECUTE, FILE, GRANT OPTION, INDEX, INSERT, LOCK TABLES, PROCESS, REFERENCES, RELOAD, RECPLICATON CLIENT, REPLICATION SLAVE, SELECT, SHOW DATABASES, SHOW VIEW, SHUTDOWN, SUPER, TRIGGER, UPDATE) para los catálogos elegidos. En la pestaña "Account Limits" podremos especificar valores límite de consultas ejecutadas en una hora, actualizaciones ejecutadas en una hora, conexiones en una hora y conexiones concurrentes para un mismo usuario:

Pulsaremos "Apply" para guardar los cambios y crear el usuario:

Ahora podremos indicar a qué esquemas (bases de datos) del servidor de MySQL tendrá acceso, para ello pulsaremos en la pestaña Schema Privileges, seleccionaremos el usuario en "Users" y pulsaremos en "Add Entry":

En la ventana de privilegios para esquema indicaremos desde qué hosts se podrá acceder al esquema o esquemas seleccionados. En "Host" indicaremos o bien la IP, o bien un rango de IPs o bien un nombre DNS de host:   

Any Host (%): desde cualquier equipo de la red. Hosts matching pattern or name: nombre DNS del host o hosts (admite comodines). Selected host.

En "Schema" indicaremos los esquemas (bases de datos) a los que le permitiremos el acceso al usuario seleccionado:   

Any Schema (%): cualquier esquema, el usuario tendrá acceso a todas las bases de datos (actuales y futuras) del servidor de MySQL Server. Schemas matching pattern or name: nombre DNS del esquema o esquemas (admite comodines). Selected schema: uno de los esquemas seleccionados (de los existentes).

Tras establecer los hots desde los que se podrá acceder y las bases de datos pulsaremos "OK":

MySQL Workbench permite añadir todas las líneas de privilegios que necesitemos para un usuario, por lo que si la línea anterior no cumple con todos los privilegios que queremos establecer para un usuario, podremos añadir más líneas con "Add Entry". Una vez que hayamos establecido todos los hosts y catálogos a los que tendrá acceso, deberemos indicar qué acciones podrá realizar marcándolas en la parte inferior: ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TABLESPACE, CREATE TEMPORARY TABLES, CREATE USER, CRETE VIEW, DELETE, DROP, EVENT, EXECUTE, FILE, GRANT OPTION, INDEX, INSERT, LOCK TABLES, PROCESS, REFERENCES, RELOAD, RECPLICATON CLIENT, REPLICATION SLAVE, SELECT, SHOW DATABASES, SHOW VIEW, SHUTDOWN, SUPER, TRIGGER, UPDATE. Tras establecer los host, esquemas y acciones pulsaremos en "Save Changes" para aplicar los cambios de privilegios al usuario seleccionado:

Crear base de datos (catálogo) en MySQL Server 5.6 con MySQL Workbench Desde MySQL Workbench, en "Open Connection to Start Querying" ejecutaremos el acceso al servidor de MySQL Server 5.6 de que dispongamos (si no tenemos la conexión dada de alta podremos hacerlo desde "New Connection"):

Introduciremos la contraseña para el usuario elegido en la conexión a MySQL Server:

Para crear un nuevo catálogo (base de datos) pulsaremos en el botón "Create a new schema in the connected server":

Introduciremos los datos para el catálogo/esquema/base de datos:  

Name: nombre para el catálogo, esquema o base de datos. Collation: juego de caracteres, normalmente "Server Default".

Pulsaermos "Apply":

El asistente para crear un nuevo catálogo nos mostrará el script SQL que se ejecutará, en nuestro caso: CREATE SCHEMA 'bdajpdsoft'; Pulsaremos "Apply":

Si la consulta SQL es correcta se ejecutará y el asistente nos mostrará el resultado. Pulsaremos "Finish":

Crear tabla en base de datos de MySQL Server 5.6 con MySQL Workbench Desde MySQL Workbench, en "Open Connection to Start Querying" ejecutaremos el acceso al servidor de MySQL Server 5.6 de que dispongamos (si no tenemos la conexión dada de alta podremos hacerlo desde "New Connection"):

En la ventana de "Object Browser", en "SCHEMAS" desplegaremos el esquema en el que queramos crear la tabla y pulsaremos con el botón derecho del ratón sobre "Tables", en el menú emergente pulsaremos en "Create Table":

Introduciremos los siguientes datos para la tabla:   

Table Name: nombre de la tabla. Collation: juego de caracteres, normalmente "Schema Default". Engine: motor de base de datos, podremos elegir los siguientes: InnoDB, MyISAM, ndbcluster, MEMORY, EXAMPLE, FEDERATED, ARCHIVE, CSV, BLACKHOLE, infinitidb, IBMDB2I, Brighthouse, KFDB, ScaleDB, TokuDB, XtraDB, Spider, MRG_MyISAM, Aria, PBXT. Normalmente los más usados son InnoDB (control de transacciones) o bien MyISAM (para rapidez, sin control de transacciones, normalmente para servidores web).

Añadiremos todas las columnas o campos de la tabla con sus propiedades y tipos de datos, en la pestaña "Columns". Podremos elegir los tipos de datos: BINARY, BLOB, LONGBLOB, MEDIUMBLOB, TINYBLOB, VARBINARY(), DATE, DATETIME, TIME, TIMESTAMP, YEAR, CURVE, GEOMETRY, GEOMETRYCOLLECTION, LINE, LINEARRING, LINESTRING, MULTICURVE, MULTILINESTRING, MULTIPOINT, MULTIPOLYGON, MULTISURFACE, POINT, POLYGON, SURFACE, BIGINT, DECIMAL(), DOUBLE, FLOAT, INT, MEDIUMINT, SMALLINT, TINYINT, CHAR, VARCHAR(), LONGTEXT, MEDIUMTEXT, TEXT, TINYTEXT, BIT, ENUM(), SET(). En cuanto a las restricciones y propiedades podremos elegir entre: clave primaria (PK primary key), no nulo (NN not null), único (UQ unique), binario (BIN binary), sin signo (UN unsigned), autoincremento (AI auto incremental), valor por defecto (Default). En la pestaña "Indexes" podremos añadir todos los índices que necesitemos y en la pestaña "Foreign Keys" especificaremos las claves foráneas (campos enlazados con otras tablas). Una vez añadidos todos los campos, índices y claves foráneas de la tabla pulsaremos en "Apply" En la tabla facturas, indicamos una columna de código donde ponemos PK primary Key, un campo NN not null y con un autoincremento AI auto incremental.

Un campo fecha

Un campo codigocliente

El asistente para crear un tabla de MySQL Workbench nos mostrará la consulta SQL que se ejecutará para crearla, si es correcta pulsaremos "Apply" para crear la tabla definitivamente: CREATE TABLE `facturas` ( `codigo` int(11) NOT NULL AUTO_INCREMENT, `fecha` date NOT NULL, `codigocliente` int(11) NOT NULL, `importe` float DEFAULT NULL, `observacion` text, `numero` varchar(30) NOT NULL, PRIMARY KEY (`codigo`), UNIQUE KEY `numero_UNIQUE` (`numero`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

El asistente nos mostrará el resultado de la ejecución de la consulta SQL. Pulsaremos "Finish":

Ahora podremos, desde el propio MySQL Workbench, mostrar los registros de una tabla (ejecutando consultas SQL) o incluso editar los datos de la tabla y añadir, modificar y eliminar registros. Para la tabla creada anteriormente en "Query" introduciremos: select * from facturas;

Ejecutaremos la consulta SQL y en la ventana inferior pulsaremos en "Insert new row" para añadir un nuevo registro:

Introduciremos los datos del registro en cada campo o columna correspondiente y pulsaremos "Apply":

Como siempre, el asistente para modificar una tabla nos mostrará la consulta SQL correspondiente a la modificación que queremos realizar, pulsaremos "Apply":

Si hay algún error en los datos introducidos o en la consulta SQL el asistente nos lo mostrará, como ejemplo hemos introducido la fecha con formato erróneo, el asistente nos muestra un error de SQL: There was an error while applying the SQL script to the database. En caso de error pulsaremos en "Back" para volver al script SQL y corregirlo:

Corregiremos el problema editando el propio script SQL y pulsaremos "Apply": Indicamos la fecha al revés 2015-12-01

Si la consulta SQL es correcta pulsaremos "Finish":

Más información http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=673#crearusuariomysql workbench