文章目录
前言
环境准备:
linux操作系统
VMware Workstation16.x
Centos7
linux——mysql的二进制安装
我们通常使用linux命令yum安装,非常简便,但是不能自己选择安装路径,所以学习一种方便且可以自己选择安装路径的安装方式,体验一下不同的安装过程。
环境准备
MySQL 5.7.38
系统:centos7.9.2009
1. 查看linux系统的内核版本
[root@localhost ~]# uname -r
3.10.0-1160.el7.x86_64
3.10.0 => 主要版本
1160 => 修改次数
el7 => enterprise linux 7(企业版的linux7)
x86_64 => 表示支持x86 cpu架构的,并且是64位 => 系统是64位的支持的cpu架构是x86x86 => intel和amd 主导的cpu内部架构
ARM => 手机、嵌入式设备的cpu架构
2.查看系统版本
[root@localhost ~]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
3. mysql下载到虚拟机
3-1. 使用xftp远程传输
-
使用xshell远程连接虚拟机之后
-
使用xftp将Windows下载好的mysql安装包传到虚拟机
3-2. 虚拟机远程下载安装
- lrzsz 用来在linux和Windows系统之间传输文件使用的工具
yum install lrzsz -u
rz
可以调出一个窗口从Windows里选择文件,receive 接受
4. 安装
-
解压安装包:
[root@localhost ~]# tar xf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
-
写一个一键二进制安装mysql的脚本(将二进制安装步骤整合,方便下一次安装)
[root@localhost ~]# cat onekey_install_mysql_binary.sh
#!/bin/bash
#解决软件的依赖关系
yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel ncurses-compat -y
#解压mysql二进制安装包
tar xf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
#移动mysql解压后的文件到/usr/local下改名叫mysql
mv mysql-5.7.38-linux-glibc2.12-x86_64 /usr/local/mysql
#新建组mysql
groupadd mysql
#新建用户mysql,mysql这个用户的shell是/bin/false,属于mysql组
useradd -r -g mysql -s /bin/false mysql
#进入/usr/local/mysql文件夹
cd /usr/local/mysql
#关闭防火墙firewalld这个服务,并且设置开机不要启动
service firewalld stop
systemctl disable firewalld
#临时关闭selinux
setenforce 0
#永久关闭selinux
sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config
#mysql的初始化操作
mkdir /data/mysql -p
chown mysql:mysql /data/mysql/
chomd 750 /data/mysql/
#进入/usr/local/mysql/bin目录
cd /usr/local/mysql/bin
#初始化mysql
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql &>passwd.txt
#让mysql支持ssl这种方式登录的设置
./mysql_ssl_rsa_setup --datadir=/data/mysql/
#获得临时密码
tem_passwd=$(cat passwd.txt | grep "temporary" | awk '{print $NF}')
#$NF 表示最后一个字段
#修改PATH变量,加入mysql下的bin目录的路径
#临时修改PATH变量的值
export PATH=/usr/local/mysql/bin/:$PATH
#重新启动linux系统后也生效,永久修改
echo 'PATH=/usr/local/mysql/bin:$PATH' >>/root/.bashrc
#复制support-files里的mysql.server文件到/etc/init.d/目录下叫mysqld
cp ../support-files/mysql.server /etc/init.d/mysqld
#修改/etc/init.d/mysqld脚本文件里的datadir目录的值
sed -i '70c datadir=/data/mysql/' /etc/init.d/mysqld
#生成/etc/my.cnf配置文件=>传递参数
cat >/etc/my.cnf <<EOF
[mysqld_safe]
[client]
socket=/data/mysql/mysql.sock
[mysqld]
socket=/data/mysql/mysql.sock
port = 3306
open_files_limit = 8192
innodb_buffer_pool_size = 512M
character-set-server=utf8
[mysql]
auto-rehash
prompt=\\u@\\d \\R:\\m mysql>
EOF
#启动mysqld进程服务
service mysqld start
#将mysqld添加到linux系统里的服务管理名单
/sbin/chkconfig --add mysqld
#设置mysqld服务开机自启动
/sbin/chkconfig mysqld on
#登录重新设置初始密码为Sanchuang123#
#初次修改密码需要使用--connect-expired-password 选项
#-e 后面接的表示在mysql里需要执行的命令
mysql -uroot -p$tem_passwd --connect-expired-password -e "set password='(此处输入设置密码)';"
#检验上一步修改密码是否成功,验证密码是否设置成功,如果有输出就能看到mysql里的数据库,说明成功
mysql -uroot -p(接你设置的密码) -e 'show databases;' && echo "database is installed success"
已经拥有安装脚本啦,那么卸载步骤也可以整合一下。
卸载:
cd /usr/local/
ls
rm -rf mysql/
rm -rf /data/
rm -rf /etc/init.d/mysqld
userdel -r mysql(如果在运行,杀进程,先杀mysql_safe,再杀别的)
升级:
- 重新安装一遍,使用新的安装版本
总结
mysql的二进制安装步骤参考官方文档资料,边学习边动手,每天都有所进步。