MySQL二进制安装详解

二进制安装

linux中的一键安装脚本,需要自己放软件包,下载耗时过长,下载安装包在依赖后面加wget 下载地址即可

#!/bin/bash

#解决软件的依赖关系并且安装需要的工具
yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel ncurses-compat-libs net-tools wget -y

#解压mysql二进制安装包
tar xf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz 

#移动mysql解压后的文件到/usr/local 下改名叫mysql
#/usr/local/mysql 是mysql的安装目录  》门店
mv mysql-5.7.41-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 -r '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config

#新建存放数据的目录 》仓库
mkdir /data/mysql -p
#修改/data/mysql目录的权限归mysql用户和mysql组
chown mysql:mysql /data/mysql
#只是允许mysql想找个用户和组可以访问
chmod 750 /data/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}')
#修改临时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/mu.cnf配置文件
cat >/etc/my.cnf <
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服务开机启动(systemctl enable mysqld)
/sbin/chkconfig mysqld on

#启动mysql
service mysql start
#登录mysql并设置密码
mysql -uroot -p$tem_passwd --connect-expired-password -e "set password='123456';"

#验证上一步修改密码是否成功,如果有输出能看到mysql里的数据库,说明成了
mysql -uroot -p'123456' -e "show databases;"

你可能感兴趣的:(MySQL,mysql,adb,android)