python开发实战(Django)-配置环境

本文介绍了在Ubuntu系统中安装和配置MySQL,包括如何更改用户认证方式以适应Django开发,以及设置远程访问的详细步骤。首先通过apt安装MySQL,然后运行安全脚本来设置root用户密码。接着,由于默认的认证方式变化,需要将root用户的认证方式改为密码认证。最后,通过编辑my.cnf配置文件和执行SQL语句,允许远程访问MySQL。
摘要由CSDN通过智能技术生成

01 安装数据库

  MySQL 是一个开源的数据库管理系统,通常作为最受欢迎的 LAMP(Linux,Apache,MySQL,PHP/Python/Perl)的一部分进行安装,其通过关系型数据库和 SQL 来管理数据。
  在 Ubuntu 中,默认只有最新版本的 MySQL 包含在 APT 软件包存储库中。
要安装它,需要使用 apt 更新服务器上的软件包索引:

sudo apt-get update #更新软件依赖关系

然后安装默认的 MySQL 软件包:

sudo apt install mysql-server  

  这一步不会进行一些配置相关的提示(例如:设置密码),因为会使 MySQL 的安装不安全,我们将在下一步解决该问题。

02.配置MySQL

  在Ubuntu下MySQL缺省是只允许本地访问的,使用workbench连接工具是连不上的;如果你要其他机器也能够访问的话,需要进行配置;在安装完 MySQL 之后,应该运行一下包含的安全脚本

$ sudo mysql_secure_installation  #这将会通过一系列的提示,帮助我们做一些常规化的安全设置:

在这里插入图片描述
重点说一下第一个提示,这会询问我们是否愿意设置验证密码插件,该插件可用于测试MySQL密码的强度。

03更改用户认证方式

虽然上面设置了 root 用户的密码,但当通过 MySQL 终端登录时,并不能通过密码进行认证:

$ mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

  在这是因为在 MySQL 5.7 及之后的版本中,root 用户被默认设置为通过 auth_socket 插件(而非密码)认证,其主要原因是出于对数据库的安全性考虑。
话虽如此,但偶尔也需要外部程序来访问,这时就会很麻烦了。为了使 root 用户能通过密码方式连接 MySQL,先通过终端打开 MySQL 的提示符:

作者:waws520
链接:https://juejin.cn/post/6970850972687925262
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
mysql> SELECT user, authentication_string, plugin, host FROM mysql.user; #通过该命令检查Mysql的每个用户认证方式。
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| user             | authentication_string                                                  | plugin                | host      |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| debian-sys-maint | $A$005$0RA(%M\;<5nqa`3RyQv2U5BkS0rq0czXinXSzyoVIBDZN275oR2vi.Jft7 | caching_sha2_password | localhost |
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| root             |                                                                        | auth_socket           | localhost |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
5 rows in set (0.00 sec)

显而易见,root 用户的认证方式是 auth_socket。现在运行如下命令,将认证方式更改为密码认证(即:mysql_native_password):

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'luyu1234';

注意:务必设置一个高强度的密码(这里的“luyu1234”仅仅是为了测试),该操作将会改变步骤 2 中设置的密码。
   如果显示可知我们设置的密码太简单了,所以不能通过,下面我们可以修改参数,来达到修改密码的目的。

mysql> SHOW VARIABLES LIKE 'validate_password%';
+----
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值