Centos7下MySQL5.7安装

1.rpm包安装

1.1下载对应的安装包

下载地址:https://downloads.mysql.com/archives/community/
在这里插入图片描述

1.2上传到你的安装好的Centos7系统上

这里可以通过Xshell 自带的XFTP进行上传,或者可以通过安装lrzsz包,通过rz命令上传

解压文件

tar -xvf 

在这里插入图片描述
这里的一一解释下

mysql-community-server-5.7.29-1.el7.x86_64.rpm  --》服务器端的包,提供mysql服务器端程序
mysql-community-client-5.7.29-1.el7.x86_64.rpm  --》提供mysql客户端命令的包
mysql-community-libs-5.7.29-1.el7.x86_64.rpm  --》mysql的相关的库
mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm --》与某些软件兼容的库
mysql-community-test-5.7.29-1.el7.x86_64.rpm  --》mysql 测试相关的软件
mysql-community-common-5.7.29-1.el7.x86_64.rpm   --》mysql相关的公共的软件
mysql-community-devel-5.7.29-1.el7.x86_64.rpm   --》与mysql开发相关的库的软件  development 开发
mysql-community-embedded-5.7.29-1.el7.x86_64.rpm --》与嵌入式相关的软件
mysql-community-embedded-devel-5.7.29-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.29-1.el7.x86_64.rpm

1.3开始安装

这里’ * '代表通配符
[root@localhost ~]#yum install mysql-community-* -y
在这里插入图片描述

1.4.启动MySQL

在这里插入图片描述
这里要注意的是:

systemctl start mysqld 和service mysqld start 效果一样
service mysqld start  --》centos6 的用法--》老式用法
systemctl start mysqld --》centos7和8里的新式用法

mysqld 是MySQL的进程的名字 mysql daemon mysql的守护进程
守护进程: 一直在内存里运行,默认情况下不退出,直到人为的停止。
只要是对外提供服务的进程都是守护进程
例如mkdir 命令就不是守护进程,这个命令一旦执行成功就会退出

1.5.如何知道mysql是否启动成功?

1.查看进程
在这里插入图片描述
2.查看端口
netstat 是linux里查看本机开放了哪些网络端口的命令

若系统没有netstat命令可用下面命令安装

yum  install  net-tools -y  安装net-tools工具

命令

netstat -anpult
-a 查看所有的信息 all
-n 以数字的形式显示 number
-p 显示程序的名字program name          1969/mysqld     1969是mysqld进程的pid号
-u 显示所有udp端口
-t 显示所有tcp端口
-l 显示监听端口  LISTEN  显示守护进程监听的端口 
0.0.0.0:22   0.0.0.0 代表本机的任意ip地址  22 表示开发的端口

在这里插入图片描述
也可以使用lsof命令查看

lsof -i:3306

在这里插入图片描述

1.6.登录进入MySQL

mysql是一个客户端的命令,用来登录mysql使用的
-u 指定登录用户 user
-p 指定密码 password
root 这个root不是我们linux系统里的root是MySQL软件里的超级用户,碰巧和linux系统里的超级用户同名

这里第一次登陆的时候肯定不知道密码是什么,这时候我们可以通过查看mysql临时密码
在这里插入图片描述
临时密码是MySQL在第一次启动的时候,临时产生的,为了安全性考虑,存放在MySQL的日志文件里 /var/log/mysqld.log,这里我们试着访问这个日志,这时就可以看到临时密码了
命令
handlebars cat /var/log/mysqld.log | grep temp
在这里插入图片描述
此时我们使用这个密码登录,发现登陆成功
在这里插入图片描述

1.7.修改密码

第一次登录进入MySQL必须修改临时密码,使用ALTER USER语句去修改
命令

alter user root@localhost  identified by 'Hpx123456#';

修改成功
在这里插入图片描述

此时试着退出登录,发现成功修改密码
在这里插入图片描述
若需要windows上远程访问MySQL数据库,可参考以下链接,不过这里我关闭了防火墙,所以就不用配置防火墙了

sudo systemctl stop firewalld 临时关闭

sudo systemctl disable firewalld ,然后reboot 永久关闭

sudo systemctl status  firewalld 查看防火墙状态。

这里远程链接的问题,可以参考下面链接
https://blog.csdn.net/jiajinlei/article/details/84142186

2.编译安装方式

这里编译的前提是你先去官网将源码包下载好上传到你的服务器之后开始安装的步骤

我这里的包是 mysql-community-5.7.29-1.el7.src.rpm
源码安装的步骤

  * 安装解决软件依赖关系的包
yum  install cmake ncurses-devel gcc  gcc-c++  vim  lsof bzip2 openssl-devel -y

   * 解压src的rpm包
rpm -ivh  mysql-community-5.7.29-1.el7.src.rpm

   * 进入/root/rpmbuild目录
cd /root/rpmbuild/SOURCES

   * 新建用户
useradd -r  -s /sbin/nologin  mysql

   * 新建数据目录
mkdir -p  /data/mysql 

   * 修改数据目录的拥有者为mysql
chown  mysql:mysql /data/mysql  
   
   * 解压真正的源码包
tar xf mysql-5.7.29.tar.gz
tar xf boost_1_59_0.tar.bz2
   
   * 将boost包移动到mysql解压的包里
mv boost_1_59_0  mysql-5.7.29

   * 进入解压后的目录   /root/rpmbuild/SOURCES/mysql-5.7.29
cd mysql-5.7.29

   * 编译前的配置  生成一个makefile文件  编译时候根据这个文件进行编译
        /root/rpmbuild/SOURCES/mysql-5.7.29 这个文件里面进行配置
cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/sc_mysql -DMYSQL_DATADIR=/data/mysql  -DSYSCONFDIR=/etc  -DMYSQL_USER=mysql  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_BOOST=boost_1_59_0
	(* cmake 是一个编译器,就是将c语言编写的代码翻译成机器可以执行的二进制的程序
	  * -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  指定生成的makefile文件和MySQL安装的路径/usr/local/mysql,将makefile文件安装到该目录
	  * -DMYSQL_DATADIR=/data/mysql 指定MySQL的存放数据的目录
	  * -DSYSCONFDIR=/etc 指定MySQL的配置文件存放的目录
	  * -DMYSQL_USER=mysql  --》指定启动mysql的用户
	  *  -DDEFAULT_CHARSET=utf8指定MySQL里的默认的字符集推荐指定默认的字符集为utf8
	  * -DDEFAULT_COLLATION=utf8_general_ci  COLLATION 排序规则  utf8_general_ci utf8里的排序规则,不区分大小写
	  * -DWITH_BOOST=boost_1_59_0  指定boost源码的位置,在mysql源码的当前目录下一个叫boost_1_59_0的文件夹)

   * 编译,启动2个进程去编译,加快速度  /root/rpmbuild/SOURCES/mysql-5.7.29 进行编译
make -j  2
   
   *安装编译好的二进制文件到指定的目录->复制当前目录下编译好的二进制文件到当时指定的目录
   		/root/rpmbuild/SOURCES/mysql-5.7.29 目录中进行安装
make install 

   * 备份原来的my.cnf配置文件
cp /etc/my.cnf /root/mysql.cnf.bak
	
   * 清空这个文件,这个文件是mariadb的配置文件,不是mysql的	
>/etc/my.cnf

   * 初始化操作
		cd  /usr/local/sc_mysql/bin 进入这个目录
./mysqld --initialize  --user=mysql --basedir=/usr/local/sc_mysql/  --datadir=/data/mysql  &>/root/temp_password.txt

   * 修改PATH变量,在linux系统里可以找到我们编译安装的mysql相关的命令 永久修改变量
echo  "PATH=$PATH:/usr/local/sc_mysql/bin" >>/etc/bashrc

   * 拷贝mysqld的程序文件到指定目录 方面以后的启动start  stop
	 在/usr/local/sc_mysql/bin 文件中进行操作
cp ../support-files/mysql.server   /etc/init.d/mysqld

   * 设置Mysql开机启动
   	chkconfig mysqld on 

   * 启动mysql
   	 service mysqld start

这里因为步骤较多,需要借助一个shell脚本来实现

#!/bin/bash
#author:II Sole
#time: 2020-5-12
#编译安装mysql 5.7.29
#OS:CentOS Linux release 7.8.2003 
##############################


#前提: mysql的源码包已经上传到linux服务器了

#安装解决软件依赖关系的包
yum  install cmake ncurses-devel gcc  gcc-c++  vim  lsof bzip2 openssl-devel -y

#解压src的rpm包

rpm -ivh mysql-community-5.7.29-1.el7.src.rpm


#进入/root/rpmbuild/
cd /root/rpmbuild/SOURCES

#新建用户
useradd -r -s /sbin/nologin mysql

#新建数据目录
mkdir -p /data/mysql

#修改目录拥有者为mysql
chown mysql:mysql /data/mysql


#解压真正的源码包
tar xf mysql-5.7.29.tar.gz
tar xf boost_1_59_0.tar.bz2

#将boost包移动到mysql解压的包里
mv boost_1_59_0 mysql-5.7.29

#进入解压后的目录  /root/rpmbuild/SOURCES/mysql-5.7.29
cd mysql-5.7.29

#编译前的配置  生成一个makefile文件  编译时候根据这个文件进行编译
cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/sc_mysql -DMYSQL_DATADIR=/data/mysql  -DSYSCONFDIR=/etc  -DMYSQL_USER=mysql  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_BOOST=boost_1_59_0
# -DCMAKE_INSTALL_PREFIX  mysql指定的安装路径
#-DMYSQL_DATADIR mysql    数据存放位置
#-DSYSCONFDIR             配置文件存放位置
#-DMYSQL_USER             指定启动mysql的用户
#-DDEFAULT_CHARSET        默认字符集
#-DDEFAULT_COLLATION      默认排序方式
#-DWITH_BOOST             指定boost源码的位置

# 编译,启动2个进程去编译,加快速度  /root/rpmbuild/SOURCES/mysql-5.7.29 进行编译
make -j 2

#安装编译好的二进制文件到指定的目录 /root/rpmbuild/SOURCES/mysql-5.7.29 目录中进行安装
make install 

#备份原来的my.cnf配置文件
cp /etc/my.cnf /root/mysql.cnf.bak

#清空这个文件,这个文件是mariadb的配置文件,不是mysql的
>/etc/my.cnf


#初始化操作
cd /usr/local/sc_mysql/bin

./mysqld --initialize  --user=mysql --basedir=/usr/local/sc_mysql/  --datadir=/data/mysql  &>/root/temp_password.txt

#修改PATH变量,在linux系统里可以找到我们编译安装的mysql相关的命令 永久修改变量
echo  "PATH=$PATH:/usr/local/sc_mysql/bin" >>/etc/bashrc

#拷贝mysqld的程序文件到指定目录 方面以后的启动start  stop
cp ../support-files/mysql.server   /etc/init.d/mysqld

#关闭防火墙和seliunx
systemctl stop firewalld
systemctl disable firewalld
#设置Mysql开机启动
chkconfig mysqld on

#启动mysql
service mysqld start


``
保存为.sh文件 ,输入bash +脚本名,等待执行成功就好了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值