• 【无标题】


    1、#查看有没有安装MySQL:

    dpkg -l | grep mysql

    2、 安装MySQL:

    sudo apt install mysql-server

    3、检查是否安装成功:

    netstat -tap | grep mysql

    通过上述命令检查之后,如果看到有 mysql 的socket处于 LISTEN 状态则表示安装成功。

    4、登录mysql数据库可以通过如下命令:

    mysql -u root -p

    -u 表示选择登陆的用户名, -p 表示登陆的用户密码,

    提示:Access denied for user 'root'@'localhost'

    错误解决过程

    修改/etc/mysql/my.cnf文件(在/etc下没有my.cnf,于是新建了一个)

    满怀期待 登录mysql,然而,没用,依旧提示"Access denied for user 'root'@'localhost'"(生无可恋.jpg)。

    方法:停止mysql服务,重启再进入就OK了

    执行命令  service mysql restart

    然后mysql -u root -p 就可以进入了。

    后续发现这种方式MYSQL运行端口一直是0,而且DJANGO也连不上MYSQL,一直报各种错误。

    正确解决过程:

    弄了好几次,时间好几天终于想明白了。

    其实Mysql安装成功后,默认的root用户密码为空,但是因为Ubuntu权限原因,用普通用户身份mysql -u root -p肯定是会被Access denied的,但是如果在mysql -u root -p前面加上sudo,直接回车键不用输入密码就可以进入mysql了,确实初始ROOT是不需要密码的。

    在DJANGO里想去连MYSQL,如果用USERNAME为ROOT去访问也是会被拒绝的,因为我们运行DJANO用的是普通用户,所以需要去创建一个普通的数据库用户和密码,来让DJANGO在程序里访问,以下是步骤:

    先sudo mysql -u root -p,然后输入SUDO密码,按ENTER进入mysql>命令行,

    1.创建用户:create user '用户名'@'%' identified by '密码';
    2.授权:grant all on *.* to '用户名'@'%';
    3.刷新权限:flush privileges;
     

    我用以上命令创建了一个用户名为DJANGO,密码为123456的用户名

    create user 'django'@'%' identified by '123456';

    grant all on *.* to 'django'@'localhost';

    flush privileges;

    用show global variables like 'port'命令确认端口号是3306.

    然后DJANGO就可以连接MYSQL了。

    我的settings.py配置如下:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'userlist',
            'USER': 'django',
            'PASSWORD': '123456',
            'HOST': '127.0.0.1',
            'PORT': '3306',
        }
    }

    然后就可以连MYSQL了,也可以makemigrations 和migrate了

    另外DJANGO3 不需要用Pymsql了,也不需要在__init.py__设置

    import pymysql
    pymysql.install_as_MySQLdb()

      只需要安装好mysqlclient就可以连接。

  • 相关阅读:
    2022年企业数字化技术应用 5 大趋势丨三叠云
    建立一个新的高阶数学教授模式,知其然,知其用,知其之所以然,知其所以然
    【LeetCode75】第七十三题 用最少数量的箭引爆气球
    【Linux】万字总结Linux 基本指令,绝对详细!!!
    #! /usr/bin/env node 命令与 npm link 建立项目间软连接(一)
    记录Pytorch中的eval()和no_grad()
    docker创建elasticsearch、elasticsearch-head部署及简单操作
    security异常处理机制
    eBay买家号注册下单容易死号?是什么原因导致?
    QLineEdit 类(行编辑器)
  • 原文地址:https://blog.csdn.net/brave_heart_lxl/article/details/126890983