卸载、下载、安装mysql(Linux系统centos7)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 卸载、下载、安装mysql(Linux系统centos7)

一、安装说明

安装环境:centos7、mysql57。我这里是阿里云的服务器,如果你用虚拟机作为开发环境或者不是centos7版本的系统,建议看看其他博文,以免踩坑,


当你在安装CentOS6.8上安装Mysql5.7的时候,它可能会提示你需要更高glibc的相关库,原因是你的glibc的库的版本太低。glibc是linux系统中最底层的api,随便更改底层库可能会造成系统的不稳定。是跟系统内核密切相关的东西,你与其去更新这个底层库,还不如去跟新Linux的版本。


所以我的建议是提升系统版本到CentOS7,再装MySQL(安装过程顺畅无比)。


附上glibc的下载地址


Index of /gnu/glibc


防火墙:6是iptables,7是firewalld


启动服务的命令:6是service,7是systemctl

二、卸载

卸载之前的mysql

a)查看系统中是否以rpm包安装的mysql:
 
 
[root@localhost opt]# rpm -qa | grep -i mysql
 
MySQL-server-5.6.17-1.el6.i686
MySQL-client-5.6.17-1.el6.i686
 
 
 
b)卸载mysql
 
[root@localhost local]# rpm -e MySQL-server-5.6.17-1.el6.i686
[root@localhost local]# rpm -e MySQL-client-5.6.17-1.el6.i686
 
c)删除mysql服务
 
[root@localhost local]# chkconfig --list | grep -i mysql
[root@localhost local]# chkconfig --del mysql
 
d)删除分散mysql文件夹
 
[root@localhost local]# whereis mysql 或者 find / -name mysql
 
 
 
mysql: /usr/lib/mysql /usr/share/mysql
 
清空相关mysql的所有目录以及文件
rm -rf /usr/lib/mysql
rm -rf /usr/share/mysql
 
rm -rf /usr/my.cnf
 
 
 
通过以上几步,mysql应该已经完全卸载干净了

三、安装

1、yum方式安装(有网络情况下推荐使用这种)

下载mysql安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

如图我下载到了opt目录下

  • 安装mysql源
  • yum localinstall mysql57-community-release-el7-8.noarch.rpm
  • 检查mysql源是否安装成功
  • yum repolist enabled | grep "mysql.*-community.*"

  • 安装
  • yum install mysql-community-server
  • 启动mysql服务
  • #启动服务
    systemctl start mysqld
    #启动状态
    systemctl status mysqld
  • 查看启动状态

设置开机启动mysql

systemctl enable mysqld

systemctl daemon-reload

修改默认密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。

grep 'temporary password' /var/log/mysqld.log

使用上面的密码登陆mysql

mysql -uroot -p

设置新密码

mysql> SET PASSWORD = PASSWORD('root');

这个root就是新密码,设置可以使用root远程登陆

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123@asdf' WITH GRANT OPTION;

第一句中”%”表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:

GRANT ALL PRIVILEGES ON . TO root@”172.168.193.25” IDENTIFIED BY “123@asdf”;

123@asdf是登录密码

flush privileges;

重新从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载

修改编码集合

查看编码

show variables like 'char%'

检测是否都是utf-8(filesystem除外),如果不是就得改,例如这个character_set_server一般是拉丁编码

修改编码

//停数据库

systemctl stop mysqld

//进入 my.cnf 文件,一般是在etc路径下

vim /etc/my.cnf

//加入要修改的字符集 修改完

在[mysqld]下追加:

character-set-server=utf8

//重启数据库

systemctl start mysqld

再次查看编码

2、rpm方式安装

官网地址

MySQL

打开官网,点击DOWNLOADS , 然后,点击 MySQL Community(GPL) Downloads

点击 MySQL Community Server

在General Availability(GA) Releases中选择适合的版本

如果安装Windows 系统下MySQL ,推荐下载 MSI安装程序 ;点击 Go to Download Page 进行下载 即可

这里选择red下的下载

下载完解压

如果是5.7的,从解压文件选择如下四个上传到centos

如果是8.0的,从解压文件选择如下五个上传到centos

由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以请给/tmp较大的权限。执 行 :

chmod -R 777 /tmp

安装前,检查依赖

开始安装 在mysql的安装文件目录下执行:(必须按照顺序执行)rpm -ivh mysql-community-common-8.0.25-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.25-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm

注意: 如在检查工作时,没有检查mysql依赖环境在安装mysql-community-server会报错

rpm 是Redhat Package Manage缩写,通过RPM的管理,用户可以把源代码包装成以rpm为扩展名的 文件形式,易于安装。

-i , --install 安装软件包

-v , --verbose 提供更多的详细信息输出

-h , --hash 软件包安装的时候列出哈希标记 (和 -v 一起使用效果更好),展示进度条

安装过程中可能的报错信息

一个命令:yum remove mysql-libs 解决,清除之前安装过的依赖即可

查看安装版本

mysql --version

执行如下命令,查看是否安装成功。需要增加 -i 不用去区分大小写,否则搜索不到。

rpm -qa|grep -i mysql

服务的初始化

为了保证数据库目录与文件的所有者为 mysql 登录用户,如果你是以 root 身份运行 mysql 服务,需要执 行下面的命令初始化:

mysqld --initialize --user=mysql

说明: --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将 该密码标记为过 期 ,登录后你需要设置一个新的密码。生成的 临时密码 会往日志中记录一份。

cat /var/log/mysqld.log 或者grep 'temporary password' /var/log/mysqld.log

root@localhost: 后面就是初始化的密码

启动MySQL,查看状态

#加不加.service后缀都可以

启动:systemctl start mysqld.service

关闭:systemctl stop mysqld.service

重启:systemctl restart mysqld.service

查看状态:systemctl status mysqld.service

mysqld 这个可执行文件就代表着 MySQL 服务器程序,运行这个可执行文件就可以直接启动一个 服务器进程。

查看MySQL服务是否自启动

systemctl list-unit-files|grep mysqld.service

默认是enabled

如不是enabled可以运行如下命令设置自启动

systemctl enable mysqld.service

如果希望不进行自启动,运行如下命令设置

systemctl disable mysqld.service

修改密码

使用初始密码登录,然后修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

设置远程连接

use mysql;
select Host,User from user;
可以看到root用户的当前主机配置信息为localhost。
Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只
能通过192.168.1.1的客户端去访问。 user=root Host=localhost,表示只能通过本机客户端去访问。而 %
是个 通配符 ,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连
接。如果 Host=% ,表示所有IP都有连接权限。
注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产
环境的IP进行设置
update user set host = '%' where user ='root';
Host设置了“%”后便可以允许远程访问
 
Host修改完成后记得执行flush privileges使配置立即生效
flush privileges;
如果是 MySQL5.7 版本,接下来就可以使用SQLyog或者Navicat成功连接至MySQL了。
如果是 MySQL8 版本,连接时还会出现如下问题
错误号码 2058,分析是 mysql 密码加密方法变了
解决方法:Linux下 mysql -u root -p 登录你的 mysql 数据库,然后 执行这条SQL:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'abc123';

如果无法连接,查看防火墙或端口

方式1:关闭防火墙

#centos6
service iptables stop
 
#centos7
systemctl start firewalld.service
systemctl status firewalld.service
systemctl stop firewalld.service
#设置开机启用防火墙
systemctl enable firewalld.service
#设置开机禁用防火墙
systemctl disable firewalld.serv

方式2:开发端口

查看开放的端口号
firewall-cmd --list-all
设置开放的端口号
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=3306/tcp --permanent
重启防火墙
firewall-cmd --reload

3、编译安装二进制源码包

Linux下安装mysql二进制tar.gz文件,并对其编译安装,不常用,不做介绍


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
Linux系统资源管理:多角度查看内存使用情况。
要知道,透过内存管理的窗口,我们可以洞察到Linux系统运行的真实身姿,如同解剖学家透过微观镜,洞察生命的奥秘。记住,不要惧怕那些高深的命令和参数,他们只是你掌握系统"魔法棒"的钥匙,熟练掌握后,你就可以骄傲地说:Linux,我来了!
67 27
|
9天前
|
Linux系统ext4磁盘扩容实践指南
这个过程就像是给你的房子建一个新的储物间。你需要先找到空地(创建新的分区),然后建造储物间(格式化为ext4文件系统),最后将储物间添加到你的房子中(将新的分区添加到文件系统中)。完成这些步骤后,你就有了一个更大的储物空间。
61 10
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
98 19
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
|
10天前
|
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
41 0
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
134 82
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
218 42

热门文章

最新文章