前言
众所周知,比起改bug,各种环境坑才是最痛苦的。博主正好最近做了一个小项目,客户提供了一套裸机环境,服务器上只有一套centOS7,mysql、redis、es、mongo、python、java、node、nginx等等是没有的,各种配套都要自己动手去搭建,从0搞一整套环境,过程中会踩很多坑,于是博主决定出一个小系列《环境踩坑系列》,各种常用组件的在centOS上的安装部署,做到复制粘贴,拿来就用。
目录
1.环境
centOS7
mysql5.7.25
2.下载安装
下载地址:
MySQL :: Download MySQL Community Server (Archived Versions)
上传到服务器上:
(博主这里有NFS,所以直接上传NFS了)
解压:
新建用户:
由于mysql是不允许用root用户来进行初始化的,所以要建一个专门用来进行初始化的用户。
配置文件:
新建/etc/my.cnf,初始化的时候默认是去找这个路径下的这个文件的。
配置内容如下:
上面的配置里面socket=/tmp/mysql.sock很重要,mysql.sock可以理解为客户端和mysql服务器之间进行通信的通道,需要这个东西,才能连的上数据库。默认情况下mysql.sock是不存在的,需要先去把它创建出来,去mysql的安装目录(也就是basedir)下:
然后就可以看到mysql.sock了。
创建需要的目录并赋权:
启动:
启动后去log里面看root的密码:
然后用root登录:
这时候做什么都会被要求改密码:
3.错误处理
使用mysqld命令初始化的过程中可能会遇见:
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such
执行:
./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
执行:
使用mysql命令连接数据库的过程中可能会遇见:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
就去mysql的安装目录下:
然后把mysql.sock放到想放的地方。