前言
作者是一名(被培训班忽悠了的)测试,找了一家(被作者忽悠了的)公司后需要自己搭建测试环境、生产环境,从前从来没有搭建过(培训班也不教这玩意啊),以至于遇到了好多奇怪的问题/哭/哭/哭,文章适合新手看,么么叽~
部署步骤
部署作者遇到过两种,一个是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();
要特别注意,必须完全一样啊家人们= - =,差一点都不行。