服务器开放3306端口
1. 首先查看服务器安全组中3306是否开放;未开放则添加安全组
2. 然后依次执行以下命令
1. 开启 firewalldsystemctl start firewalld2. 开放端口firewall-cmd --zone=public --add-port=3306/tcp --permanent3. 重新载入生效firewall-cmd --reload4. 查看firewall-cmd --zone=public --query-port=3306/tcp
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
原因是因为密码设置的过于简单会报错,MySQL有密码设置的规范,具体是与validate_password_policy的值有关,下图表明该值规则
use mysql;set global validate_password_policy=0;
开启远程访问
1.登录mysqlmysql -u root -p;2. 使用mysql数据库use mysql;3. 查询select user,host from user;4.如果没有"%"这个host值,就执行下面这两句:update user set host='%' where user='root';flush privileges;5.授权可以远程访问mysql> grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;说明:此命令是为密码为 root 、IP(%)任意的 root 用户授权。(%:模糊查询,所有 IP 都可以,,可指定其他主机 IP;BY 后的 'root' 为密码)6. 将配置写入授权表flush privileges;
这时打开Navicat;就可以远程访问了
测试下脚本
修改项目数据库配置;将代码上传至服务器
在服务器项目根目录将celerybeat-schedule文件删除后执行;python3 manage.py celery worker -l INFO -B命令;从下图看定时任务已经执行成功;并已写入数据库