「前言」文章内容大致是在Centos7环境安装MySQL,演示安装的版本为5.7
「归属专栏」MySQL
「主页链接」个人主页
「笔者」枫叶先生(fy)
「枫叶先生有点文青病」「句子分享」
浮生梦,三生渺渺,
因缘无踪,虽堪恋,何必重逢。
息壤生生,谁当逝水,东流无终。
——江南《龙族》
目录
一、卸载不要的环境
二、检查卸载系统安装包
三、获取mysql官方yum源
四、安装mysql的yum源
五、安装mysql服务
六、MySQL登录
七、配置my.cnf文件
一、卸载不要的环境
下面演示安装的版本为5.7版本,安装先把身份切换为root,方便操作
首先先检测自己的环境,是否存在mariadb 和系统自带MySQL,如果存在需要进行停止相应服务
ps ajx | grep mariadb
ps ajx | grep mysql
我的环境没有mariadb 和 系统自带MySQL
如果有,会查到相应进程的信息,然后需要把相应服务进程停止
systemctl stop mariadb.service //停⽌mariadb服务
systemctl stop mysqld //停⽌mysql服务
再次查,已经没有了,只显示查询命令的结果
二、检查卸载系统安装包
检查mysql、mariadb安装包是否存在
rpm -qa | grep mariadb
rpm -qa | grep mysql
需要卸载显示出来的 mariadb/mysql 安装包,一个个删除
yum -y remove 软件名
mysql卸载完成之后,需要备份 /etc/my.cnf数据,文件可能存在或者不存在,存在则对文件进行重命名即可,不存在不用处理
三、获取mysql官方yum源
获取mysql官⽅yum源,链接如下:
http://repo.mysql.com/
查看Linux版本
cat /etc/redhat-release
对照着Linux版本找,如果没有匹配的小版本,则直接选择大版本
mysql57-community-release-el7.rpm
57代表mysql版本为5.7
el7代表Linux版本为7(列表没有7.6版本的,选择大版本)
然后下载在自己电脑桌面,然后上传到Linux
注意:找与⾃⼰Linux版本⼀致的mysql资源!
四、安装mysql的yum源
此时还不能直接安装,需要安装mysql的yum源
查看你本地的yum源
ls /etc/yum.repos.d/ -l
是没有mysql的yum源的(我的和你的肯定不同,但是没有mysql相关的yum源)
执行以下命令安装mysql相关的yum源
rpm -ivh 你自己所下的mysql的包名
例如:rpm -ivh mysql57-community-release-el7.rpm
再次查 ls /etc/yum.repos.d/ -l,mysql相关的yum源已经存在了
看看能yum源不能正常⼯作,可以就会显示各种版本mysql的安装包
yum list |grep mysql
五、安装mysql服务
接下来就是安装mysql服务了
yum install -y mysql-community-server
等待安装完成即可
如果安装遇到秘钥过期的问题:
Failing package is: mysql-community-libs-5.7.42-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决⽅案,执行该命令
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
然后重新安装即可,等待安装完成
查看文件是否存在,存在则mysql已经安装好了
ls /etc/my.cnf
which mysqld
which mysql
注:mysqld 是服务端,mysql 是客户端,我们使用的是客户端
启动mysql服务
systemctl start mysqld.service
ps axj | grep mysql 查看,进程已运行,并且是守护进程
也可以查一下端口号 netstat -nltp
六、MySQL登录
登录方法一,不行就换
获取临时root密码
grep 'temporary password' /var/log/mysqld.log
如果有就会显示出来,没有就下一个,这个方法通常是5.7版本之前的
使⽤临时密码登录,输入临时密码即可
mysql -uroot -p
登录成功
修改本地登录密码,暂不授权远程登录
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
密码强度太弱,不允许你修改的
登陆⽅法⼆
如果你安装的最新的mysql,没有所谓的临时密码,root默认没有密码
mysql -uroot -p
直接回车,不用输入密码,方法不行下一个
登陆⽅法⼆
打开mysql配置⽂件
vim /etc/my.cnf
在[mysqld]最后⼀栏配置,就放在配置⽂件最后,加⼊: skip-grant-tables 选项,wq! 保存退出
skip-grant-tables
在最后加入即可
改完需要重新启动MySQL服务
systemctl restart mysqld
然后可以直接登录了。输入密码直接回车即可
mysql -uroot -p
七、配置my.cnf文件
打开my.cnf文件
vim /etc/my.cnf
添加以下两个
character-set-server=utf8 // 服务端的编码格式
default-storage-engine=innodb // 储存引擎
也可以修端口号,我就不改了
port=3306
wq! 保存退出
改完需要重新启动MySQL服务
systemctl restart mysqld
--------------------- END ----------------------
「 作者 」 枫叶先生
「 更新 」 2023.7.5
「 声明 」 余之才疏学浅,故所撰文疏漏难免,
或有谬误或不准确之处,敬请读者批评指正。