ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

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

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-serveryuminstall-ymysql-server使用命令systemctl start mysqld启动mysqldsystemctl 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|grepA temporary password使用刚刚查看的密码登陆MySQL。mysql-uroot-p进行密码修改。use mysql;这行代码的作用是选择数据库。在这个例子中我们正在选择名为 “mysql” 的数据库。alter user rootlocalhost identified by your_password;这行代码的目的是更改用户的密码。在这里我们正在将 ‘localhost’ 上的 ‘root’ 用户的密码更改为 ‘your_password’。use mysql;alter userrootlocalhostidentified byyour_password;完成以上步骤后MySQL数据库的配置就完成了。MySQL远程访问在进行Django开发时通常会在生产环境中使用MySQL数据库并且允许远程访问。以下是配置MySQL远程访问的步骤将host设置为%表示允许任何IP都能连接MySQLmysql-uroot-hlocalhost-puse mysql;update usersethost%whereuserrootandhostlocalhost;如果需要指定某个IP进行连接可以执行以下语句设置了仅root用户且IP地址为106.39.178.131和本机才可以访问。update usersethost106.39.178.131whereuserrootandhostlocalhost;执行完以上语句后刷新权限表使配置生效flush privileges;最后开放云服务器3306端口就可以实现MySQL远程访问了。常见错误及解决方法在配置和使用Django时可能会遇到一些常见的错误。下面是一些常见错误及其解决方法错误1ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing解决方法ALTER USER rootlocalhost IDENTIFIED BY 密码 PASSWORD EXPIRE NEVER;是修改本地的root用户的密码并设置该密码永不过期。flush privileges;是刷新MySQL的系统权限相关表使得前面对用户权限的修改立即生效。ALTERUSERrootlocalhostIDENTIFIED BY密码PASSWORD EXPIRE NEVER;flush privileges;错误2ERROR 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表的内容发生变化后必须要执行这个命令才能使得变更生效。mysqluse mysql;# 查询出数据库的用户名mysqlselect host,user,password from user;# 把用户表里面的host项改为“%”mysqlupdate usersethost%where userroot;mysqlflush privileges;#刷新用户权限表# 重启mysql即可错误3ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.解决方法set global validate_password_policy0;此命令改变全局的密码验证策略。数字0表示将策略设置为低级别这将减少对密码复杂性的要求。set global validate_password_length1;此命令改变全局的密码最小长度要求。数字1表示只要密码长度大于或等于1个字符就可以这也降低了对密码强度的要求。alter user rootlocalhost identified by 你的新密码;此命令用于修改指定用户这里是位于localhost的root用户的密码。你的新密码’需要替换为你希望设定的新密码。mysqlsetglobalvalidate_password_policy0;Query OK,0rows affected(0.00sec)setglobalvalidate_password_length1;Query OK,0rows affected(0.00sec)alter userrootlocalhostidentified by你的新密码;Query OK,0rows affected(0.01sec)总结本文介绍了MySQL 在 CentOS 服务器上的安装及基础配置通过正确的安装和配置开发者可以确保 MySQL 数据库稳定运行并顺利连接到 Django 项目。本文还提供了解决 MySQL 连接错误、密码策略问题的方法帮助开发者快速定位并修复数据库问题。希望本指南能帮助大家高效搭建 Django 项目的数据库环境提高开发效率。
返回列表