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
上一篇: C# .net中的https请求