Crear una base de datos MySQL para Django
Ya he escrito en varios artículos como crear una base de datos en MySQL. Para evitar repetir esto continuamente, voy a detallar la creación de una base de datos específica para Django.
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 62
Server version: 5.1.41-3ubuntu12.6 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> CREATE DATABASE menudoproblema DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER mi_user@localhost IDENTIFIED BY 'mi_password';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT CREATE,SELECT,UPDATE,DELETE,ALTER,INSERT,INDEX ON mi_base_datos.* TO mi_user@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
Los detalles realmente importantes son los siguientes:
- DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci: para la creación de la base de datos. Esto es importante, ya que Django trabaja con UTF-8 por defecto (DEFAULT_CHARSET), mientras que la configuración por defecto de MySQL puede variar (depende de la instalación, de la distribución, ...)
- GRANT: es recomendable no dar más permisos de los estrictamente necesarios. En principio, DROP no es un permiso necesario para un sistema en producción, aunque puede ser necesario si estamos realizando migraciones.
Tags
La teoría es cuando crees saber algo, pero no funciona.
La práctica es cuando algo funciona, pero no sabes por qué.
Los programadores combinan la teoría y la práctica:
Nada funciona y no saben por qué.
