linux系统中mysql部署及部分问题提前解决方案

本文是一位测试人员为新手详细记录的在CentOS7系统中搭建MySQL5.7环境的过程,包括卸载自带的MariaDB库,安装依赖,确定数据库版本,下载并解压MySQLtar包,创建用户和用户组,修改配置文件,初始化数据库,启动服务,开放防火墙端口,更改默认密码,允许远程连接等步骤。过程中强调了版本匹配和问题排查的重要性。
摘要由CSDN通过智能技术生成

前言

作者是一名(被培训班忽悠了的)测试,找了一家(被作者忽悠了的)公司后需要自己搭建测试环境、生产环境,从前从来没有搭建过(培训班也不教这玩意啊),以至于遇到了好多奇怪的问题/哭/哭/哭,文章适合新手看,么么叽~


部署步骤

部署作者遇到过两种,一个是rpm安装,这个要卸载自带依赖,然后安装对应的rpm包,不过由于个人的项目问题,前面的不展开,只说一下tar包的操作喔喔喔

0、提前准备

linux centos 7虚拟机一台

查看自带的mariadb-lib,卸载对应的版本

(听说是由于centos7 及以上版本不支持 mysql,需要先卸载自带的 mariadb-lib)

rpm -qa | grep mariadb
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

安装依赖

yum install vim libaio net-tools 

1、确定需要的数据库版本

这一点很重要很重要,不然搭建好了跟开发的环境不一样,代码就会报错,不可能指望开发去改他的环境,只能自己去卸载重装,重装还会遇到一些乱七八糟的问题,所以建议各位直接从开始去解决这个问题(此处需要增加一个我对我的开发的一个😊表情)。

如何解决:一般来说,整个组大多项目都是完全一样的环境,可以直接找组长拿之前的包,有的会告诉你在某某生产环境中,可以找到,那么直接拉到现在的服务器当中准备安装即可(我弄好了才跟我说这边路径下有一个包,家人们谁懂啊?);

当然还有另一种情况,你没有组长或者你不好意思问或者前面的人也没有留下任何资料,那么直接去生产环境里面查询,然后去官网找对应的版本......

进入linux终端中,输入mysql -V查看版本号:

mysql -V

在下拉框中找到对应的版本进行下载:

2、把压缩包放到测试环境进行解压

tar -xvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

3、创建用户和用户组

groupadd mysql

useradd -r -g mysql mysql 

 4、修改权限、创建pid文件路径,修改配置文件

#可以不改名
mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql  
cd mysql

mysql文件夹中看一下有没有data文件夹,没有就创建一个并修改权限。

mkdir data
chmod 777 mysql/data
chown mysql:mysql -R mysql/data

修改mysql文件夹权限 

chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql/data

修改mysql配置文件,标记的地方改成你对应的(其他的都是我去网上复制的,类似性能啊配置啊什么的)

vi /etc/

初始化

网上说5.7版本的需要进行初始化,不过我觉得这个还是因为没有data目录的原因,所以前面执行过创建命令了应该是不用执行的。不过执行也没什么影响啦,就是记得cd的目录是你的路径啊喂,下面的绝对路径也是你的路径啊,别一股脑cv哇~

cd ../mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data  --basedir=/usr/local/mysql

到home文件夹中创建文件以及修改权限(这边的mysql与前面的不是一个东西啊喂只是同名) 

#创建文件夹和文件,并修改权限
cd /home
mkdir mysql
cd mysql
mkdir mysqld
chown mysql:mysql mysqld/
chmod 755 mysqld/
cd mysqld
touch mysql.pid
chown mysql:mysql mysqld.pid
chmod 755 mysqld.pid

补充:为什么要改配置应该就不需要解释了///这边说一下为什么要新建pid文件

        有一次公司断电了,作者发现navicat连接不上数据库了,后来简单看了一下,是一台宿主机没有开机,开机后依旧连接不上,开始排查:

        远程连接,ok

        查看数据库,ERROR! MySQL is not running未启动?好吧,启动一下。

        启动数据库糟糕,报错了。        

        Starting MySQL.......................... ERROR! The server quit without updating PID file         (/tmp/mysqld/mysqld.pid).

        查了一下解决方法,意思是初始的/tmp目录下,重启会清除文件。

        按照教程完美解决💋

再补充一下:很多时候都会有这个pid报错,直接去mysql的日志文件里面看报错原因哈。网上那些七七八八的没什么用

5、启动数据库

service mysqld start

 到这边本地启动成功了,接下来就是配置远程工具可以访问。

6、防火墙开放3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

当然,你要是有好多端口要开,还够懒,可以直接停用并停止开机自启防火墙~

systemctl disable firewalld

7、修改数据库默认密码

别问为什么要改,你看看这又臭又长的默认密码你要用?

先看一下初始密码

grep password /var/log/mysqld.log

 复制一下,修改密码

mysqladmin -uroot -p'默认密码'  password '新密码'

出现以下提示英语不好的不用管 

自信登陆即可

mysql -uroot -p

 回车,输入密码,回车

框起来的就是你装的版本了,赶紧去对一下是不是同个版本。

8、修改Mysql允许远程连接

一行一行回车下去,最后刷新生效

use mysql;
select host from user where user='root';
update user set host = '%' where user ='root';
flush privileges;

 9、远程连接数据库,查看版本

 (主机输入服务器ip,密码填刚才改的密码,测试连接成功即可)

补充:如果第7步没有看,可以去工具里面查询

select version();

要特别注意,必须完全一样啊家人们= - =,差一点都不行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值