django连接ubuntu22下的mysql8
1.安装mysql(这里就不过多赘述了)
sudo apt-get install mysql-server
2.登录mysql
(1) 在 根目录/etc/mysql/debian.cnf ,使用默认账户密码登录


(2)空密码登录
1.查看mysql服务的状态(这里为了图方便,我就直接在root下操作了)
sudo service mysql status 查看mysql服务状态
sudo service mysql stop 关闭mysql服务
sudo service mysql start 开启mysql服务
sudo service mysql restart 重启mysql服务

2.关闭mysql服务

3. 在 etc/mysql/my.cnf 中添加(这样可以跳过密码验证,无密码登录)
[mysqld]
skip-grant-tables

4.启动mysql服务
3.进入mysql

4. 创建远程用户
创建数据库: create database 数据库名称 default charset=uft8;
为此数据库创建远程连接的用户: create user 用户名 identified by '用户密码';
注意: 如果在这条语句执行时报错了,可能是密码配置不对,这里就不写如何更改密码配置了。
记住密码长度最少八位,要有数字和大小写字母,还有特殊符号。
赋予用户访问权限:grant all on 数据库名称.* to '用户名'@'%';
意思:该用户可以进行远程访问,但权限只允许使用这一个数据库
刷新权限: flush privileges;
5. 配置远程地址
打开 etc/mysql/mysql.con.d/mysqld.cnf


将bind-address注释
mysqx-bind-address = 你的ip地址
查看ip地址命令:ifconfig
ip add
6.关闭防火墙
systemctl status firewalld 查看防火墙状态
systemctl stop firewalld 暂时关闭防火墙
systemctl disable firewalld 永久关闭防火墙
systemctl start firewalld 启动防火墙
systemctl restart firewalld 重启防火墙
ufw ubuntu可用:
ufw enable 开启防火墙
ufw disable 关闭防火墙
ufw status 查看防火墙状态
ufw default allow/deny 外来访问默认允许/拒绝
ufw allow/deny 20 允许/拒绝 访问20端口,20后可跟/tcp或/udp,表示tcp或udp封包。
ufw allow/deny servicename ufw从/etc/services中找到对应service的端口,进行过滤。
ufw allow proto tcp from 10.0.1.0/10 to 本机ip port 25:允许自10.0.1.0/10的tcp封包访问本机的25端口。
ufw delete allow/deny 20 删除以前定义的"允许/拒绝访问20端口"的规则
以上是ubuntu的配置,接下来是django
7. 在settings.py中配置mysql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '', # 数据库名字
'USER': '', # 账号名字
'PASSWORD': '', # 账号密码
'HOST': '', # mysql地址
'PORT': 3306, # 端口
}
}
8.安装cryptography
pip install cryptography
豆瓣源:
pip3 install cryptography -i https://pypi.douban.com/simple
清华源:
pip3 install cryptography -i https://pypi.tuna.tsinghua.edu.cn/simple
9.启动django程序,就ok了!
浙公网安备 33010602011771号