CentOS 6.X 32位安装MySQL5.7保姆级教程

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 由于现在MySQL5.7针对32位Linux系统支持不是特别好,因此写下这篇文章进行一些教学(基于个人的方法,若有疑问欢迎讨论)

前言

本教程适用于CentOS 6.x 32位系统,非32位系统必定会报错,非CentOS 6.x的系统可能会报错,请酌情使用!

安装MySQL 5.7

1.检测系统是否已经安装过mysql或其依赖,若已装过要先将其删除,否则第4步使用yum安装时会报错:

yum list installed | grep mysql

查看系统内已经存在的mysql

yum -y remove mysql-libs.i686

成功卸载后会出现如下图
卸载成功后的界面

由于CentOS官方已经不再支持CentOS 6,因此无法使用yum,CentOS官方也给这些还不想把CentOS 6扔进垃圾堆的用户保留了最后一个版本的镜像,只是这个镜像不会再有更新了,因此需要更换CentOS的yum源

一键修复(直接copy到ssh运行即可)

sed -i “s|enabled=1|enabled=0|g” /etc/yum/pluginconf.d/fastestmirror.conf
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo
yum clean all
yum makecache


2.从mysql的官网下载mysql57-community-release-el6-5.noarch.rpm(注意这里的el6-5即适配RHEL6.5的版本,如果下载了其它版本后面的安装过程中可能会报错):

wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

3.安装第一步下载的rpm文件:

yum install mysql-community-release-el6-5.noarch.rpm

安装成功后,我们可以看到/etc/yum.repos.d/目录下增加了mysql-community-source.repo和mysql-community.repo以下两个文件

ls /etc/yum.repos.d

增加的文件

3.查看mysql57的安装源是否可用

yum repolist enabled | grep mysql

mysql56

如图所示,首次查看源的时候默认是mysql56的版本,但是我们需要使用mysql57,因此需要自行修改一下配置文件

vim /etc/yum.repos.d/mysql-community.repo

使mysql57下面的enable=1,其他设为enable=0

修改mysql的yum配置文件

4.使用yum安装mysql:

yum install mysql-community-server --nogpgcheck

[scode type="yellow"]若不在后面填写--nogpgcheck的话,可能会出现报错[/scode]

5.启动mysql服务:

service mysqld start

6.查看root密码:

grep "password" /var/log/mysqld.log

查看root默认密码

现在必须立刻修改密码,不然会报错:

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

7.修改密码(如果在此步报错ERROR 1819,请向下翻查看原因及解决方法):

首先需要进入mysql

mysql -u root -p

输入上方的代码后会提示输入密码,这个时候就需要输入第六步查看到的默认生成root密码
输入完成后,会进入到mysql的界面
msyql

随后就需要修改密码了
[scode type="red"]下方的代码中不要全部复制!!不要全部复制!!!,只需要复制“ mysql> ”之后的内容即可![/scode]

下方代码中,“newpass” 是新密码!
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

[scode type="share"]若此步骤出现如下图的1819错误,请查看文章后的解决方法[/scode]
1819错误

8.查看mysqld是否开机自启动,并设置为开机自启动:

首先需要退出mysql的界面,进入系统的ssh界面,输入代码:

mysql> quit

bye~

出现如下图的提示后开始检查并设置mysql开机自启

chkconfig --list | grep mysqld
chkconfig mysqld on


9.修改字符集为UTF-8:

vim /etc/my.cnf

在[mysqld]部分添加:

character-set-server=utf8

在文件末尾新增[client]段,并在[client]段添加:

default-character-set=utf8

如下图所示:
配置文件修改

修改好之后重启mysqld服务:

service mysqld restart

进入mysql,查看修改结果:

mysql -u root -p

随后输入密码进入mysql

mysql> show variables like "%character%";

如下图所示:
utf-8设置

至此,MySQL安装结束!可以进入navicat尝试连接一下看看能否使用,其中主机地址为虚拟机的ip

可能遇到的问题

一.在修改密码步骤,若设置的密码为简单密码,可能会出现如下错误:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这一错误其实与validate_password_policy值的设置有关:

validate_password_policy值默认为1,即MEDIUM,所以刚开始设置的密码必须符合长度要求,且必须含有数字,小写或大写字母,特殊字符

如果我们只是做为测试用而不需要如此复杂的密码,可使用如下方式修改validate_password_policy值

mysql> set global validate_password_policy=0;

提示如下内容则设置成功

Query OK, 0 rows affected (0.00 sec)

这样,对密码要求就只有长度了,而密码的最小长度由validate_password_length值决定

validate_password_length参数默认为8,它有最小值的限制,最小值为:

validate_password_number_count+ validate_password_special_char_count+(2 * validate_password_mixed_case_count)

其中,validate_password_number_count指定了密码中数字的长度,validate_password_special_char_count指定了密码中特殊字符的长度,validate_password_mixed_case_count指定了密码中大小字母的长度。这些参数的默认值均为1,所以validate_password_length最小值为4,如果显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4

设置validate_password_length的值:

mysql> set global validate_password_length=4;

提示如下内容则设置成功

Query OK, 0 rows affected (0.00 sec)

如果修改了validate_password_number_count,validate_password_special_char_count,validate_password_mixed_case_count中任何一个值,则validate_password_length将进行动态修改。

二.Navicat连接数据库出现2003、1130报错

1.在windows下,cmd 进入telnet查看端口情况

[scode type="yellow"]使用telnet前需开启Windows功能中的telnet功能,并以管理员身份运行CMD[/scode]

telnet

telnet  192.168.1.100 3306

telnet失败

其中ip是虚拟机的ip.如果连接失败
2.在虚拟机下输入

netstat -anp| grep 3306

3306错误
如上图结果中显示mysql 3306前面的ip不是0.0.0.0

3.修改/etc/my.cnf
在[mysqld]内加入下列代码

bind-address = 0.0.0.0

bind-address
上面的意思是改为监听所有地址

开启MySQL远程访问权限 允许远程连接

从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:

mysql -u root -proot 
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

操作完后切记执行以下命令刷新权限

FLUSH PRIVILEGES;

报错 ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’ 不予理会

至此再进入navicat,发现已经能成功连接虚拟机的mysql了!

成功连接

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
运维 安全 Linux
如何在CentOS7一键安装宝塔面板并实现固定地址访问内网宝塔进行管理
如何在CentOS7一键安装宝塔面板并实现固定地址访问内网宝塔进行管理
|
3天前
|
Linux 测试技术 数据安全/隐私保护
CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台
CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台
|
3天前
|
SQL 关系型数据库 MySQL
【MySQL-3】图形化界面工具DataGrip安装&配置&使用
【MySQL-3】图形化界面工具DataGrip安装&配置&使用
|
3天前
|
关系型数据库 MySQL Linux
【MySQL-2】MySQL的下载&安装&启停&配置环境变量【一条龙教程】
【MySQL-2】MySQL的下载&安装&启停&配置环境变量【一条龙教程】
|
4天前
|
Linux Docker 容器
centos7安装docker图文详解
该文档提供了在CentOS上安装Docker的步骤:检查系统内核版本(需大于3.10),更新yum,卸载旧版Docker,安装yum-utils和依赖包,设置Docker仓库,列出并选择Docker版本,安装Docker,最后启动并设置Docker开机启动,通过`docker version`验证安装是否成功。
|
4天前
|
弹性计算 关系型数据库 MySQL
在线安装MySQL5.7和MySQL8.0
【4月更文挑战第30天】
15 0
|
4天前
|
存储 关系型数据库 MySQL
docker安装mysql8忽略大小写
docker安装mysql8忽略大小写
|
4天前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 20.04 + mysql8 安装以及配置大小写不敏感
Ubuntu 20.04 + mysql8 安装以及配置大小写不敏感
|
4天前
|
关系型数据库 MySQL 开发工具
Docker安装mysql8.0
Docker安装mysql8.0
|
3月前
|
缓存 关系型数据库 MySQL
百度搜索:蓝易云【CentOS8服务器安装MySQL报错:no match mysql-community-server】
现在,你已经成功安装了MySQL服务器并解决了"no match mysql-community-server"的报错问题。祝你使用愉快!
43 1

热门文章

最新文章