admin管理员组文章数量:1538457
2024年6月10日发(作者:)
#linux mysql自动安装程序
#运行例子:sh /usr/local
#定义本程序的当前目录
base_path=$(pwd)
ntpdate
#处理外部参数
mysql_install_path=$1
if [ ! $mysql_install_path ] ; then
echo 'error command!!! you must input mysql '
echo 'for example: sh /usr/local'
exit
fi
#建立临时安装目录
echo 'preparing '
install_path='/install'
if [ ! -d $install_path ]; then
mkdir -m 777 $install_path
fi
yum -y install gcc libc6-dev gcc-c++ make rsync
#安装cmake
if [ ! -d $mysql_install_path/cmake ]; then
echo 'installing cmake 2.'
if [ ! -f $base_path/ ]; then
echo ' is not exists, system will going to '
wget -O $base_path/
/files/v2.8/ || exit
echo 'download cmake-2.8.'
fi
tar zxvf $base_path/ -C $install_path || exit
cd $install_path/cmake-2.8.11
./bootstrap --prefix=$mysql_install_path/cmake && make && make install || exit
cp $mysql_install_path/cmake/bin/* /usr/bin/
fi
#安装ncurses
yum -y install ncurses-devel perl || apt-get -y install libncurses5-dev || exit
#添加mysql用户
user=$(id -nu mysql)
if [ ! $user ]; then
user='mysql'
group='mysql'
/usr/sbin/groupadd -f $group
/usr/sbin/useradd -g $group $user
fi
#建立数据目录
mysql_data_path=$mysql_install_path/mysql/data
mkdir -p $mysql_data_path
#赋予数据存放目录权限
chown -R $mysql_data_path || exit
#安装mysql
echo ''
mysql='mysql-5.6.12'
if [ ! -d $install_path/$mysql ]; then
if [ ! -f $base_path/$ ]; then
echo $mysql'. is not exists, system will going to '
wget -O $base_path/$
/Downloads/MySQL-5.6/$ || exit
echo 'download '$mysql' '
fi
tar zxvf $base_path/$ -C $install_path || exit
fi
cd $install_path/$mysql
#删除编译缓存
rm -rf $install_path/$mysql/
cmake . -DCMAKE_INSTALL_PREFIX=$mysql_install_path/mysql
-DMYSQL_UNIX_ADDR=$mysql_data_path/ -DSYSCONFDIR=/etc
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk,gb2312 -DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=$mysql_data_path
-DMYSQL_USER=mysql || exit
make || exit
make install || exit
#复制配置文件
echo "[client]
port = 3306
socket = "$mysql_install_path"/mysql/data/
[mysqld]
port = 3306
socket = "$mysql_install_path"/mysql/data/
#skip-grant-tables
skip-external-locking
key_buffer_size = 100M
max_allowed_packet = 2M
table_open_cache = 64
sort_buffer_size = 1M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 1M
thread_concurrency = "$(cat /proc/cpuinfo | grep name | cut -f3 -d: | uniq -c | cut -b 7)"
max_connections = 10000
join_buffer_size = 2M
thread_cache_size = 1024
server-id = 1
innodb_buffer_pool_size = 1M
innodb_log_file_size = 0M
innodb_log_buffer_size = 0M
innodb_flush_log_at_trx_commit = 0
innodb_lock_wait_timeout = 50
key_buffer_size = 2M
sort_buffer_size = 2M
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
long_query_time = 2
#log-slow-queries = "$mysql_install_path"/mysql/data/
#log-slow-admin-statements
#log-queries-not-using-indexes
[mysqldump]
quick
max_allowed_packet = 2M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 2M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout" > /etc/ || exit
cp $mysql_install_path/mysql/support-files/ /etc/init.d/mysqld || exit
chmod 755 /etc/init.d/mysqld
#初始化数据库
$mysql_install_path/mysql/scripts/mysql_install_db
--basedir=$mysql_install_path/mysql --datadir=$mysql_data_path
#启动mysql服务
/etc/init.d/mysqld start
cp $mysql_install_path/mysql/bin/* /usr/bin/
#修改root密码
mysqladmin -u root password root
#开机自启动
echo '' >> /etc/rc.d/
echo 'service mysqld start' >> /etc/rc.d/
source /etc/rc.d/
--user=mysql
版权声明:本文标题:linux mysql自动安装程序 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1717958087a628341.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论