Pasos a seguir en el terminal
sudo apt-get install mysql-server
sudo mysql_secure_installation
mysql --version
systemctl status mysql.service
mysqladmin -p -u root version
En MySQL:
mysql -p -u root
DB: Crear TuDataBase
Pass root: tupasswordroot
Show databases
CREATE USER ‘user’@'localhost’
IDENTIFIED BY ‘userpassword’ PASSWORD EXPIRE NEVER;
CREATE USER ‘tuproject’@'localhost’
IDENTIFIED BY ‘userproject’ PASSWORD EXPIRE NEVER;
CREATE DATABASE TuDataBase;
GRANT ALL PRIVILEGES ON TuDataBase.* TO ‘user’@‘localhost’;
GRANT ALL PRIVILEGES ON TuDataBase.* TO ‘tuproject’@‘localhost’;
USE mysql
Pager less //para mostrar de a paginas, (usar ‘q’ para salir)
SELECT * FROM user WHERE user = ‘tuproject’ \G
UPDATE mysql.user SET Select_priv = ‘Y’ WHERE user = ‘tuproject’;
Setear todos los priv necesarios de igual forma.
Sudo apt-get mysql-client-core-5.7
sudo apt-get install libmysqlclient-dev
verificar lo que hay:
dpkg -l | grep mysql
Dentro del virtualenv:
pip3 install mysqlclient // reemplaza pip3 install mysql-python
pip3 install PyMySQL
Dentro del proyecto de Django
Add to init.py file:
import pymysql
pymysql.install_as_MySQLdb()
Dentro del settings.py
<h1>definir las variables de entorno previamente. En mi caso yo las defino en .bashrc en ubuntu</h1> <h1>esto es para mantener la informacion privada privada.</h1>from django.core.exceptions import ImproperlyConfigured
def get_env_variable(var_name):
try:
return os.getenv(var_name)
except KeyError:
error_msg = 'Set the {var_name} environment variable'
raise ImproperlyConfigured(error_msg.format(var_name=var_name))
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': get_env_variable('DJANGO_DB_NAME'),
'USER': get_env_variable('DJANGO_DB_USER_LOCAL'),
'PASSWORD': get_env_variable('DJANGO_DB_PSW_LOCAL'),
'HOST': 'localhost', # Or an IP Address that your DB is hosted on
'PORT': get_env_variable('DJANGO_DB_PORT'),
}
}
Espero les sirva de ayuda. Para mas información pueden visitar la info de django donde se explica como implementar cualquier otra base de datos que queramos.
Saludos
Curso de Django 2017