欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Linux 自己写个脚本快速安装MySQL5.7.23

程序员文章站 2022-07-03 14:27:05
Linux 自己写个脚本快速安装MySQL5.7.231.mysql官网下载二进制版本的mysql5.7.23安装包(mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz)至/root目录2.执行下文所述的mysql_auto_install.sh脚本 (centos7的系统)#/bin/bash###### 二进制自动安装数据库脚本,将脚本和安装包放在/root目录即可############### ######数据库目录......

                  Linux 自己写个脚本快速安装MySQL5.7.23

1.mysql官网下载二进制版本的mysql5.7.23安装包(mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz)至/root目录
2.执行下文所述的mysql_auto_install.sh脚本 (centos7的系统)

#/bin/bash
###### 二进制自动安装数据库脚本,将脚本和安装包放在/root目录即可############### 
######数据库目录/usr/local/mysql############ 
######数据目录/data/mysql############ 
echo "=======================================================
环境的准备,假设未安装过MySQL,只执行清除Mariadb的操作"
tar zxf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz &&mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql&& cd /usr/local/mysql
pwd
rpm -e --nodeps mariadb-common-10.1.20-2.el7.x86_64
rpm -e --nodeps mariadb-config-10.1.20-2.el7.x86_64
rpm -e --nodeps mariadb-libs-10.1.20-2.el7.x86_64
useradd -M -s /sbin/nologin mysql
echo "[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
socket=/tmp/mysql.sock

symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/tmp/mysqld/mysqld.pid
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
log-bin=mysql-bin
binlog-format=ROW
server_id=1
max_connections=1000

init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake ">/etc/my.cnf
echo "================================================
开始正式安装,请耐心等候"
touch /tmp/mysql.sock
chown mysql:mysql /tmp/mysql.sock
chmod 755 /tmp/mysql.sock
mkdir /tmp/mysqld
touch /tmp/mysqld/mysqld.pid
chown -R mysql:mysql /tmp/mysqld
chmod 755 /tmp/mysqld/mysqld.pid
touch /var/log/mysqld.log
chown mysql:mysql /var/log/mysqld.log
chmod 755 /var/log/mysqld.log
yum install -y libaio numactl
cd /usr/local/mysql/bin/
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data
passwd=` cat /var/log/mysqld.log |grep "A temporary password" |awk '{print $11 }' `
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
source /etc/profile
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
service mysqld restart
ln -s /usr/local/mysql/bin/mysql /usr/bin
echo "MYSQL-5.7.23 安装成功,现在需要一些初始化,请依次执行以下命令:
passwd=` cat /var/log/mysqld.log |grep "A temporary password" |awk '{print $11 }' `
mysql -uroot -p"$passwd"
============================================================================
进入数据库后,请执行以下命令:
set password=password("你要设置的密码,请按需填写");
grant all privileges on *.* to 'root'@'%' identified by '远程登录的密码,可以不一样但请牢记';
flush privileges;
exit 
======================================================================================================
以上执行完毕,可以愉快的使用MySQL了"

该脚本设定为比较干净的没有安装过MySQL的机器,如果有安装过,请清除旧版MySQL,centos7系统由于自带mariadb的组件,因此脚本予以清除,脚本执行完毕后,根据脚本提示运行那几个命令,然后就可以正常的使用了,由于5.7的MySQL安全性太高,无法将数据库重置密码命令整合进脚本,一用命令就报错,很无奈,只能手动进入数据库重置密码了。

该条命令passwd=` cat /var/log/mysqld.log |grep "A temporary password" |awk '{print $11 }' ` 是读取系统自动生成的MySQL密码。如果该变量为空,请在执行一次,然后 ,mysql -uroot -p"$passwd"就可以进入数据库了

本文地址:https://blog.csdn.net/alwaysbefine/article/details/107186026