搭建Django链接MySQL流程(python2版)
Posted 青石小甲
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建Django链接MySQL流程(python2版)相关的知识,希望对你有一定的参考价值。
mysql>FLUSH PRIVILEGES //修改生效
yum -y remove MariaDB*
安装mysql的rpm包,需按照以下顺序进行安装。
rpm -ivh mysql-community-common-5.7.17-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.17-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.17-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.17-1.el7.x86_64.rpm rpm -ivh mysql-community-devel-5.7.17-1.el7.x86_64.rpm rpm -ivh mysql-community-embedded-5.7.17-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm rpm -ivh mysql-community-embedded-devel-5.7.17-1.el7.x86_64.rpm
初始化mysql数据库,获取登录密码
mysqld --initialize --user=mysql
若提示目录下有文件,直接将/var/lib/mysql/ 文件夹下的文件删除干净再次执行。
完成后 进入日志文件查找初始化生成的密码vi /var/log/mysqld.log
启动mysql systemctl start mysqld
修改初始密码
登录mysql
mysql -u root -p
输入日志中的密码
第一次更改密码前所有的操作都是禁止的,依次执行: set password=password(\'123456\');flush privileges; quit;
或者通过命令行 mysqladmin -u root -p"5NUV1wX<;pj=" password 123456
重启mysql: systemctl restart mysqld
查看配置文件: cat /etc/my.cnf
1.3 源码安装
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
安装启动:
gunzip mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.17-linux-glibc2.5-x86_64.tar /usr/local/
.创建运行MySQL的用户和组(名字可以任意)
Shell> groupadd mysql
Shell> useradd mysql -g mysql
切换到mysql目录
Shell > mkdir data
修改解压包的权限
Shell> chown –R mysql .
Shell> chgrp –R mysql .
安装MySQL
Shell> bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data ##初始化数据目录
shell> cp -f support-files/my-default.cnf /etc/my.cnf ##将默认配置文件复制到指定目录
shell> bin/mysqld_safe --datadir=/usr/local/mysql/data --user=mysql & ##启动MySQL服务
shell> cp support-files/mysql.server /etc/init.d/mysql.server ##将MySQL加入到服务自启动
Shell> /etc/init.d/mysql.server start ##通过服务启动MySQL
MySQL配置文件my.ini中,在[mysqld]下添加skip-grant-tables,关闭mysql服务并重新开启; 输入命令:mysql -u root -p 回车后,要求输入密码,直接回车跳过,则直接进入MySQL。 这样设置之后,可以直接双击D:\\MySQL5.7.10\\bin下的mysql.exe启动,而不用输入命令。 update mysql.user set password=PASSWORD(\'password\') where User=\'root\';
2、安装python的相关模块(注意顺序)
2.1、安装python-devel,mysql-devel(其中含有mysql_config模块)
2.2、在pypi.org下载MySQL-python-1.2.5.zip包。
2.3、源码安装MySQL-python,python setup.py install
[root@VirtualBox-web MySQL-python-1.2.5]# python -c "import MySQLdb"
/usr/lib64/python2.7/site-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /usr/lib64/python2.7/site-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg/_mysql.pyc, but /root/MySQL-python-1.2.5 is being added to sys.path
因为是源码安装会有两个MySQL_python-1.2.5-py2.7-linux-x86_64.egg,检查版本一致的话,手动将root下的MySQL_python-1.2.5-py2.7-linux-x86_64.egg删除。
3、修改项目的链接mysql。
DATABASES = {
\'default\': {
\'ENGINE\': \'django.db.backends.mysql\',
\'NAME\': \'lagou\',
\'USER\': \'root\',
\'PASSWORD\': \'password\',
\'HOST\': \'127.0.0.1\',
\'PORT\': \'3306\',
}
}
4、测试Django对mysql的连通性。
4.1、django.db.utils.OperationalError: (2003, "Can\'t connect to MySQL server on \'192.168.56.104\' (113)"),
Django链接不到外网,修改项目setting.py的 ALLOWED_HOSTS = []成ALLOWED_HOSTS = [\'*\',]
4.2、django.db.utils.OperationalError: (1130, "Host \'192.168.56.105\' is not allowed to connect to this MariaDB server")
mysql>GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'%\' WITH GRANT OPTION //赋予任何主机访问数据的权限
mysql>FLUSH PRIVILEGES //修改生效
4.3、 python manage.py migrate,自动创建web系统使用的表
以上是关于搭建Django链接MySQL流程(python2版)的主要内容,如果未能解决你的问题,请参考以下文章