如何在linux上解压安装mysql

下面是一个解压安装mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz的脚本:

#!/bin/bash

#解决软件的依赖关系并且安装需要工具

yum install cmake ncurses-devel gcc gcc-c++ vim libaio lsof bzip2 openssl-devel ncurses-compat-libs net-tools -y

#解压mysql二进制安装包

tar xf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz

#移动mysql解压后的文件到/usr/local下改名叫mysql

#/usr/local/mysql 是mysql的安装目录 --》门店

mv mysql-5.7.37-linux-glibc2.12-x86_64 /usr/local/mysql

#新建组和用户 mysql

groupadd mysql

#mysql这个用户的shell 是/bin/false 属于mysql组

useradd -r -g mysql -s /bin/false mysql

#关闭firewalld防火墙服务,并且设置开机不要启动

service firewalld stop

systemctl disable firewalld

#临时关闭selinux

setenforce 0

#永久关闭selinux

sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config

#新建存放数据的目录 --》仓库

mkdir /data/mysql -p

#修改/data/mysql目录的权限归mysql用户和mysql组所有,这样mysql用户启动的mysql进程可以对这个文件夹进行读写了

chown mysql:mysql /data/mysql/

#只是允许mysql这个用户和mysql组可以访问,其他人都不能访问

chmod 750 /data/mysql/

#进入/usr/local/mysql/bin目录

cd /usr/local/mysql/bin/

#初始化mysql
# --basedir=/usr/local/mysql/ 这个选项指定MySQL的基本目录路径,即包含mysqld和其他MySQL文件的目录。
#--datadir=/data/mysql: 这个选项指定数据目录的路径,即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表示最后一个字段

abc=$(命令) 优先执行命令,然后将结果赋值给abc

修改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

[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

#修改内核的open file的数量

ulimit -n 1000000

#设置开机启动的时候也配置生效

echo "ulimit -n 1000000" >>/etc/rc.local

chmod +x /etc/rc.d/rc.local

#将mysqld添加到linux系统里服务管理名单里

/sbin/chkconfig --add mysqld

#设置mysqld服务开机启动

/sbin/chkconfig mysqld on

#启动mysqld进程

service mysqld start

#初次修改密码需要使用--connect-expired-password 选项

#-e 后面接的表示是在mysql里需要执行命令 execute 执行

#set password='123456'; 修改root用户的密码为123456

mysql -uroot -p$tem_passwd --connect-expired-password -e "set password='123456';"

#检验上一步修改密码是否成功,如果有输出能看到mysql里的数据

库,说明成功。

mysql -uroot -p'123456' -e "show databases;"

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天天明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值