当前位置: 首页 > news >正文

【环境踩坑系列】CentOS7 安装 MySQl 5.7.25

前言

众所周知,比起改bug,各种环境坑才是最痛苦的。博主正好最近做了一个小项目,客户提供了一套裸机环境,服务器上只有一套centOS7,mysql、redis、es、mongo、python、java、node、nginx等等是没有的,各种配套都要自己动手去搭建,从0搞一整套环境,过程中会踩很多坑,于是博主决定出一个小系列《环境踩坑系列》,各种常用组件的在centOS上的安装部署,做到复制粘贴,拿来就用。

目录

1.环境

2.下载安装

3.错误处理


1.环境

centOS7

mysql5.7.25

2.下载安装

下载地址:

MySQL :: Download MySQL Community Server (Archived Versions)

上传到服务器上:

(博主这里有NFS,所以直接上传NFS了)

解压:

tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

新建用户:

由于mysql是不允许用root用户来进行初始化的,所以要建一个专门用来进行初始化的用户。

  1. groupadd mysql

  2. useradd -r -g mysql mysql

配置文件:

新建/etc/my.cnf,初始化的时候默认是去找这个路径下的这个文件的。

配置内容如下:

[client]
default-character-set=utf8

[mysqld]
port=3306
basedir=/nfs/my/mysql
datadir=/nfs/my/mysql/dataNew
socket=/tmp/mysql.sock
character_set_server=utf8
 
log-error=/usr/local/mysql/dataNew/mysql.log
pid-file=/usr/local/mysql/dataNew/mysql.pid

[mysql]
default-character-set=utf8

上面的配置里面socket=/tmp/mysql.sock很重要,mysql.sock可以理解为客户端和mysql服务器之间进行通信的通道,需要这个东西,才能连的上数据库。默认情况下mysql.sock是不存在的,需要先去把它创建出来,去mysql的安装目录(也就是basedir)下:

 ./support-files/mysql.server start

然后就可以看到mysql.sock了。

创建需要的目录并赋权:

mkdir /usr/local/mysql/dataNew

chown mysql:mysql /usr/local/mysql/dataNew

启动:

./mysqld --initialize --user=mysql --basedir=/nfs/my/mysql/ --datadir=/nfs/my/mysql/dataNew/

启动后去log里面看root的密码:

cat /usr/local/mysql/dataNew/mysql.log

然后用root登录:

./mysql -u root -p

这时候做什么都会被要求改密码:

set password for root@localhost = password('admin');

3.错误处理

使用mysqld命令初始化的过程中可能会遇见:

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such

执行:

yum install libaio-devel.x86_64

./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

执行:

yum -y install numactl

使用mysql命令连接数据库的过程中可能会遇见:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

就去mysql的安装目录下:

./support-files/mysql.server start

然后把mysql.sock放到想放的地方。


http://www.mrgr.cn/news/31064.html

相关文章:

  • 【LeetCode】【算法】64. 最小路径和
  • Android GPU纹理数据拷贝
  • 微波无源器件 OMT1 一种用于倍频程接收机前端的十字转门四脊正交模耦合器(24-51GHz)
  • 基于ECS实例搭建Hadoop环境
  • 如何下载无水印的TikTok视频
  • 时序预测:多头注意力+宽度学习
  • Python打包神器pyinstaller和tkinter图形化GUI界面
  • 使用ultralytics库微调 YOLO World 保持 Zero-Shot 能力
  • 101. 对称二叉树
  • 若依笔记(六):前后端token鉴权体系
  • AV1 Bitstream Decoding Process Specification--[7]: 语法结构语义-3
  • Shader Graph Create Node---Channel
  • 树莓派4B+UBUNTU20.04+静态ip+ssh配置
  • Node-red 某一时间范围内满足条件的数据只返回一次
  • Spring的IOC和AOP
  • sheng的学习笔记-AI-强化学习(Reinforcement Learning, RL)
  • arduino IDE TFT_eSPI库函数的相关函数
  • 23种设计模式,纯简单里面,面试必备
  • 马踏棋盘c++
  • 谈对象第二弹: C++类和对象(中)
  • 梧桐数据库(WuTongDB):SQL Server Query Optimizer 简介
  • 【VUE3.0】动手做一套像素风的前端UI组件库---Button
  • 测试框架研讨
  • OpenCV 2
  • C++ 常用设计模式
  • 小朋友分组最少调整次数