MariaDB

El software MySQL® proporciona un servidor de base de datos SQL (Structured Query Language) muy rápido, multi-threaded, multi usuario y robusto. El servidor MySQL está diseñado para entornos de producción críticos, con alta carga de trabajo así como para integrarse en software para ser distribuido.

El software MySQL tiene una doble licencia. Los usuarios pueden elegir entre usar el software MySQL como un producto Open Source bajo los términos de la licencia GNU General Public License (http://www.fsf.org/licenses/) o pueden adquirir una licencia comercial

Administración

#

#

Escucha fuera de 127.0.0.1

[mysqld]
bind-address

#

Genera certificados

openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 3600 \
     -key ca-key.pem -out ca.pem
openssl req -newkey rsa:2048 -days 3600 \
     -nodes -keyout server-key.pem -out server-req.pem
openssl rsa -in server-key.pem -out server-key.pem
openssl x509 -req -in server-req.pem -days 3600 \
     -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
openssl req -newkey rsa:2048 -days 3600 \
     -nodes -keyout client-key.pem -out client-req.pem
openssl rsa -in client-key.pem -out client-key.pem
openssl x509 -req -in client-req.pem -days 3600 \
     -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem
openssl verify -CAfile ca.pem server-cert.pem client-cert.pem

my.cn

[mysqld]
ssl-ca=/etc/ssl/mysql/ca.pem
ssl-cert=/etc/ssl/mysql/server-cert.pem
ssl-key=/etc/ssl/mysql/server-key.pem

Conexión con mysql

mysql --ssl -h 127.0.0.1 -u root -p

#

GRANT <some> ON mydb.* TO 'user'@'host' IDENTIFIED BY 'pass';

Permisos a root remoto protegido con SSL.

GRANT ALL PRIVILEGES ON *.* to 'root'@'%' identified by 'pass' require ssl with grant option;




mysqld_safe --slip-grant-tables &
mysql -uroot
USE mysql
UPDATE user set password=PASSWORD('ch4ng3m3')
  WHERE user='root';
FLUSH PRIVILEGES;

Estructuras de Datos

#

CREATE DATABASE peepthom DEFAULT CHARSET utf8 COLLATE utf8_general_ci;



ALTER TABLE items ADD COLUMN stock INT NOT NULL DEFAULT 0;

Manipulación de Datos

#

SELECT id, name, email INTO OUTFILE '/tmp/result.csv'
  FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
  ESCAPED BY ‘\\’
  LINES TERMINATED BY '\n'
  FROM users WHERE 1

Referencias

  • [[http://dev.mysql.com/doc/refman/5.0/es/index.html Manual de MySQL 5]]
  • [[https://dev.mysql.com/doc/refman/5.5/en/creating-ssl-files-using-openssl.html SSL]]