当前位置: 移动技术网 > IT编程>数据库>Mysql > Linux 自己写个脚本快速安装MySQL5.7.23

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

2020年07月09日  | 移动技术网IT编程  | 我要评论

                  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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网