centos7离线部署mysql脚本
#!/bin/bash
#脚本功能:在centos7系统上离线部署mysql5.7
#作者:jason.liu
#时间:2020年4月2日
##1、安装依赖包
yum -y install libaio numactl gcc-c++ make cmake ncurses-devel bison openssl-devel perl lsof net-tools autoconf automake libtool python-devel zlib* readline* pcre* #安装依赖包
##2、创建mysql用户及用户组,并配置权限。创建安装目录及数据存储目录。解压mysql文件包。授予该用户所有权限。
groupadd mysql #创建mysql用户组
useradd -r -g mysql mysql #创建mysql用户,该用户不允许使用shell命令行界面进行交互式操作,只能通过后台方式运行. -r 是指system 用户,不允许使用shell命令行界面进行交互式操作. -g 是把该system 用户加入到mysql 用户中去. mysql是该system 用的名字. 如此就会生一个带有专门权限的新的system 用户: mysql . 这样就保证数据库的安全性. 圆圆圆圆圆圆圆圆园园园园园园园园园 mkdir /usr/local/mysql #创建安装目录 mkdir /data/data_base #数据存储目录 chown -R mysql:mysql /usr/local/mysql #将安装目录所有权交与MysqL所属的MysqL group and user chown -R mysql:mysql /data/data_base #将数据存储目录所有权也交与MysqL所属的MysqL group and user tar xvf MySQL-5.7.*.*-linux*.tar #解压MySQL文件包 cd MySQL*.tar #进入MySQL文件夹内 mv * ../../usr/local/mariadb #将MySQL文件夹内都复制出去(一般情况下会释出一个mariadb) cd .. ##3、修改my.cnf 配置文件 vi /etc/my.cnf [client] port = 3306 socket = /tmp [server] port = 3306 socket = /tmp datadir=/data_base default_storage_engine=InnoDB character_set_server=utf8 skip_name_resolve basedir=/usr/local//mariadb log-error=/var sqlmode="STRICT_TRANS_TABLES,NO_ZERO_IN DATE,ERROR FOR ALL division by zero" pidfile=/var innodb buffer pool size=256MB max allowed packet=500M table open cache=512 sort buffer size=4M read buffer size=1M join buffer size=1M thread cache size=128 query cache type 0 query cache size 0 max connect errors 10 open files limit 65535 lower case table names 1 explicit defaults for timestamp 1 innodb flush logs at trx commit 2 innodb flush method fsync ##4、信任root对应ip vi ~/.mylogin cat <<EOF> ~/.mylogin [client] user = root password = 123456 host = 127.0 EOF chmod 600 ~/.mylogin ##5、启助MySQL ./binaries/.bin/.safe --user=root --password='123456' --basedir='usr' --defaults-extra--file=~/.mylogin & ##6、重启MySQL mysqladmin shutdown systemctl restart mysqld
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。