news 2026/9/29 2:09:23

CentOS 7.x 搭建 MySQL 5.7 及错误处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CentOS 7.x 搭建 MySQL 5.7 及错误处理

在使用Django进行 Web 开发时,MySQL通常被用作数据库管理系统。

本指南详细介绍了MySQL 在 CentOS 上的安装、远程访问配置及常见错误解决方案,帮助开发者快速搭建和管理数据库环境,确保 Django 项目能够顺利运行。

文章目录

  • 环境配置
  • MySQL远程访问
  • 常见错误及解决方法
  • 总结

环境配置

在开始学习Django之前需要先进行环境配置。首先需要搭建MySQL数据库,并正确配置它。

使用命令cd /usr/local/src,进入本机源文件目录。

cd/usr/local/src

使用wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm命令下载MySQL的yum源的rpm包。

wgethttps://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

使用命令rpm -ivh mysql57-community-release-el7-11.noarch.rpm安装rpm包。

rpm-ivhmysql57-community-release-el7-11.noarch.rpm

使用yum install -y mysql-server命令安装mysql-server:

yuminstall-ymysql-server

使用命令systemctl start mysqld启动mysqld:

systemctl start mysqld

使用命令ps aux|grep mysqld查看mysqld是否已启动:

psaux|grepmysqld

使用命令systemctl enable mysqld设置开机自动启动:

systemctlenablemysqld

使用初始密码登陆,由于MySQL从5.7开始不允许首次安装后,使用空密码进行登录,系统会随机生成一个密码以供管理员首次登录使用,这个密码记录在/var/log/mysqld.log文件中。

使用cat /var/log/mysqld.log|grep 'A temporary password'命令可以查看此密码,最后一行冒号后面的部分就是初始密码。

cat/var/log/mysqld.log|grep'A temporary password'

使用刚刚查看的密码登陆MySQL。

mysql-uroot-p

进行密码修改。use mysql;:这行代码的作用是选择数据库。在这个例子中,我们正在选择名为 “mysql” 的数据库。alter user 'root'@'localhost' identified by 'your_password';:这行代码的目的是更改用户的密码。在这里,我们正在将 ‘localhost’ 上的 ‘root’ 用户的密码更改为 ‘your_password’。

use mysql;alter user'root'@'localhost'identified by'your_password';

完成以上步骤后,MySQL数据库的配置就完成了。

MySQL远程访问

在进行Django开发时通常会在生产环境中使用MySQL数据库,并且允许远程访问。以下是配置MySQL远程访问的步骤:

将host设置为%,表示允许任何IP都能连接MySQL:

mysql-uroot-hlocalhost-puse mysql;update usersethost='%'whereuser='root'andhost='localhost';

如果需要指定某个IP进行连接,可以执行以下语句,设置了仅root用户且IP地址为106.39.178.131和本机才可以访问。

update usersethost='106.39.178.131'whereuser='root'andhost='localhost';

执行完以上语句后,刷新权限表,使配置生效:

flush privileges;

最后开放云服务器3306端口,就可以实现MySQL远程访问了。

常见错误及解决方法

在配置和使用Django时,可能会遇到一些常见的错误。下面是一些常见错误及其解决方法:

错误1:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing

解决方法:

ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;是修改本地的root用户的密码,并设置该密码永不过期。flush privileges;是刷新MySQL的系统权限相关表,使得前面对用户权限的修改立即生效。

ALTERUSER'root'@'localhost'IDENTIFIED BY'密码'PASSWORD EXPIRE NEVER;flush privileges;

错误2:ERROR 1130: host ‘localhost’ not allowed to connect to this MySQL server

解决方法:

这段代码是在MySQL数据库管理系统中执行的。下面是每行代码的解释:

use mysql;:这条命令的作用是切换到"mysql"数据库,“mysql"数据库是MySQL系统的内置数据库,其中包含了一些系统级别的信息,例如用户的信息。select host,user,password from user;:这条命令从"user"表中选取了"host”、“user"和"password"这三个字段。“user"表中储存了MySQL的用户信息。update user set host = '%' where user ='root';:这条命令的作用是更新"user"表中,“user"字段值为"root"的记录,将这些记录的"host"字段的值都改为”%”。”%"在这里代表任意主机,也就是说,这条命令的执行意味着"root"用户可以从任意主机进行登录。flush privileges;:这条命令的作用是刷新系统的权限相关的信息。当"user"表的内容发生变化后,必须要执行这个命令,才能使得变更生效。

mysql>use mysql;# 查询出数据库的用户名mysql>select host,user,password from user;# 把用户表里面的host项改为“%”mysql>update usersethost='%'where user='root';mysql>flush privileges;#刷新用户权限表# 重启mysql即可

错误3:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

解决方法:

set global validate_password_policy=0;:此命令改变全局的密码验证策略。数字0表示将策略设置为低级别,这将减少对密码复杂性的要求。set global validate_password_length=1;:此命令改变全局的密码最小长度要求。数字1表示只要密码长度大于或等于1个字符就可以,这也降低了对密码强度的要求。alter user 'root'@'localhost' identified by '你的新密码';:此命令用于修改指定用户(这里是位于localhost的root用户)的密码。'你的新密码’需要替换为你希望设定的新密码。

mysql>setglobalvalidate_password_policy=0;Query OK,0rows affected(0.00sec)setglobalvalidate_password_length=1;Query OK,0rows affected(0.00sec)alter user'root'@'localhost'identified by'你的新密码';Query OK,0rows affected(0.01sec)

总结

本文介绍了MySQL 在 CentOS 服务器上的安装及基础配置,通过正确的安装和配置,开发者可以确保 MySQL 数据库稳定运行,并顺利连接到 Django 项目。

本文还提供了解决 MySQL 连接错误、密码策略问题的方法,帮助开发者快速定位并修复数据库问题。希望本指南能帮助大家高效搭建 Django 项目的数据库环境,提高开发效率。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 2:08:32

Windows C盘空间治理:原生命令深度清理方法论

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 2:08:26

Vue 3 高德地图接入:Key、jscode、白屏与内存泄漏排查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 2:07:37

支付宝代扣接口签约避坑指南:从申请到联调全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 2:07:07

OpenStack IaaS云管理平台部署实战:从虚拟化原理到实例创建

简介:基于OpenStack的IaaS云管理平台的设计与实现毕业设计论文,是一份可直接参考的完整毕业论文文档,面向云计算方向的学生、开发者和需要部署私有云的运维人员。论文从云计算与IaaS的发展背景切入,梳理基础设施即服务的低成本、高…

作者头像 李华
网站建设 2026/9/29 2:06:40

Nordic蓝牙SoC选型与NimBLE移植实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华