RPM包安装mysql,采用shell脚本实现自动安装、配置与卸载
2011-06-28 09:27
1301 查看
版本是5.5.8。
自动安装配置步骤:
1. 先在/etc下面放一份my.cnf,这里是链接的方式。安装之前先运行卸载脚本,它会杀掉相关进程。
2. 运行install.sh进行安装与配置
my.cnf
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /opt/alu/data/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /opt/alu/data/mysql/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
datadir=/opt/alu/data/mysql/datadir
# query log
log=/opt/alu/logs/3rd_party/mysql/mysql-query
# slow query log
log-slow-queries=/opt/alu/logs/3rd_party/mysql/mysql-slow-queries
# binary log
log-bin=/opt/alu/logs/3rd_party/mysql/binary_log/mysql-bin
pid-file=/opt/alu/data/mysql/mysql.pid
没有复制的部分都是原配置。这里使用的是huge那份。
install.sh
#!/bin/bash
# uninstall mysql
. uninstall.sh
LOG_FILE=/opt/alu/logs/3rd_party/mysql/install.log
MYSQL_DIR=/opt/alu/3rd_party/mysql/bin
# install mysql rpm
rpm -Uhv `ls ${MYSQL_DIR}/*.rpm` >> ${LOG_FILE} 2>&1
MYSQL_OLD=/var/lib/mysql
MYSQL_NEW=/opt/alu/data
cp -rp ${MYSQL_OLD} ${MYSQL_NEW}
rm -rf ${MYSQL_OLD}
MYSQL_BASE_DIR=${MYSQL_NEW}/mysql
if [ ! -f ${MYSQL_BASE_DIR}/datadir ]; then
mkdir ${MYSQL_BASE_DIR}/datadir
fi
MYSQL_DATA_DIR=${MYSQL_BASE_DIR}/datadir
mv -f ${MYSQL_BASE_DIR}/test ${MYSQL_DATA_DIR}
mv -f ${MYSQL_BASE_DIR}/information_schema ${MYSQL_DATA_DIR}
mv -f ${MYSQL_BASE_DIR}/mysql ${MYSQL_DATA_DIR}
mv -f ${MYSQL_BASE_DIR}/ib* ${MYSQL_DATA_DIR}
service mysql start
NEWPWD=nbiops
HOSTNAME=`hostname`
mysql -uroot -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${NEWPWD}'); /
SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('${NEWPWD}'); /
SET PASSWORD FOR 'root'@'::1' = PASSWORD('${NEWPWD}'); /
SET PASSWORD FOR 'root'@'${HOSTNAME}' = PASSWORD('${NEWPWD}'); /
DROP USER ''@'localhost'; /
DROP USER ''@'${HOSTNAME}'; /
CREATE USER 'nbiops'@'localhost' IDENTIFIED BY 'nbiops'; /
GRANT ALL PRIVILEGES ON *.* TO 'nbiops'@'localhost' WITH GRANT OPTION; /
CREATE USER 'nbiops'@'%' IDENTIFIED BY 'nbiops'; /
GRANT ALL PRIVILEGES ON *.* TO 'nbiops'@'%' WITH GRANT OPTION; /
FLUSH PRIVILEGES;" >> ${LOG_FILE} 2>&1
echo "install done."
uninstall.sh
#!/bin/bash
LOG_FILE=/opt/alu/logs/3rd_party/mysql/uninstall.log
# stop mysql server
/etc/init.d/mysql stop >> ${LOG_FILE} 2>&1
#uninstall mysql RPMs
rpm -e `rpm -qa "MySQL*"`
PID_3306=`ps -ef | grep mysql | grep -v grep | awk '{print $2}'`
if [ ${PID_3306} ]; then
for pid in ${PID_3306}
do
kill ${pid}
done
fi
echo "uninstall done."
自动安装配置步骤:
1. 先在/etc下面放一份my.cnf,这里是链接的方式。安装之前先运行卸载脚本,它会杀掉相关进程。
2. 运行install.sh进行安装与配置
my.cnf
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /opt/alu/data/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /opt/alu/data/mysql/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
datadir=/opt/alu/data/mysql/datadir
# query log
log=/opt/alu/logs/3rd_party/mysql/mysql-query
# slow query log
log-slow-queries=/opt/alu/logs/3rd_party/mysql/mysql-slow-queries
# binary log
log-bin=/opt/alu/logs/3rd_party/mysql/binary_log/mysql-bin
pid-file=/opt/alu/data/mysql/mysql.pid
没有复制的部分都是原配置。这里使用的是huge那份。
install.sh
#!/bin/bash
# uninstall mysql
. uninstall.sh
LOG_FILE=/opt/alu/logs/3rd_party/mysql/install.log
MYSQL_DIR=/opt/alu/3rd_party/mysql/bin
# install mysql rpm
rpm -Uhv `ls ${MYSQL_DIR}/*.rpm` >> ${LOG_FILE} 2>&1
MYSQL_OLD=/var/lib/mysql
MYSQL_NEW=/opt/alu/data
cp -rp ${MYSQL_OLD} ${MYSQL_NEW}
rm -rf ${MYSQL_OLD}
MYSQL_BASE_DIR=${MYSQL_NEW}/mysql
if [ ! -f ${MYSQL_BASE_DIR}/datadir ]; then
mkdir ${MYSQL_BASE_DIR}/datadir
fi
MYSQL_DATA_DIR=${MYSQL_BASE_DIR}/datadir
mv -f ${MYSQL_BASE_DIR}/test ${MYSQL_DATA_DIR}
mv -f ${MYSQL_BASE_DIR}/information_schema ${MYSQL_DATA_DIR}
mv -f ${MYSQL_BASE_DIR}/mysql ${MYSQL_DATA_DIR}
mv -f ${MYSQL_BASE_DIR}/ib* ${MYSQL_DATA_DIR}
service mysql start
NEWPWD=nbiops
HOSTNAME=`hostname`
mysql -uroot -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${NEWPWD}'); /
SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('${NEWPWD}'); /
SET PASSWORD FOR 'root'@'::1' = PASSWORD('${NEWPWD}'); /
SET PASSWORD FOR 'root'@'${HOSTNAME}' = PASSWORD('${NEWPWD}'); /
DROP USER ''@'localhost'; /
DROP USER ''@'${HOSTNAME}'; /
CREATE USER 'nbiops'@'localhost' IDENTIFIED BY 'nbiops'; /
GRANT ALL PRIVILEGES ON *.* TO 'nbiops'@'localhost' WITH GRANT OPTION; /
CREATE USER 'nbiops'@'%' IDENTIFIED BY 'nbiops'; /
GRANT ALL PRIVILEGES ON *.* TO 'nbiops'@'%' WITH GRANT OPTION; /
FLUSH PRIVILEGES;" >> ${LOG_FILE} 2>&1
echo "install done."
uninstall.sh
#!/bin/bash
LOG_FILE=/opt/alu/logs/3rd_party/mysql/uninstall.log
# stop mysql server
/etc/init.d/mysql stop >> ${LOG_FILE} 2>&1
#uninstall mysql RPMs
rpm -e `rpm -qa "MySQL*"`
PID_3306=`ps -ef | grep mysql | grep -v grep | awk '{print $2}'`
if [ ${PID_3306} ]; then
for pid in ${PID_3306}
do
kill ${pid}
done
fi
echo "uninstall done."
相关文章推荐
- CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动
- 坚持#第272天~zabbix监控(安装、配置、shell脚本自动实现)
- shell脚本实现DNS的自动安装与配置
- linux下rpm包安装、配置和卸载mysql
- shell脚本实现nfs服务安装配置,共享文件分发
- Shell脚本实现自动安装zookeeper
- 用tarball实现liferay自动安装部署5-shell 脚本概述
- 通过rpm包安装、配置及卸载mysql的详细过程
- 利用Shell脚本实现远程MySQL自动查询
- mysql 自动 安装 shell脚本
- shell脚本实现自动创建模拟器、启动模拟器、自动安装apk并进行monkey测试
- Shell脚本实现应用自动安装部署
- shell脚本_自动安装mysql
- shell脚本实现自动编译安装
- shell脚本专题之-----------全自动编译安装mysql
- 通过rpm包安装、配置及卸载mysql
- 通过rpm包安装、配置及卸载mysql
- [置顶] 编写shell脚本实现自动化搭建安装LNMP平台全过程配置详解
- 通过rpm包安装、配置及卸载mysql
- Shell脚本高级应用 --实现远程MySQL自动查询