MySQL-5.5.25 centos 一键装配脚本 auto install
MySQL-5.5.25 centos 一键安装脚本 auto install
原文链接:http://blog.****.net/ylqmf/article/details/8064356
原文链接:http://blog.****.net/ylqmf/article/details/8064356
工作中经常要要在不同的机器上安装mysql,特意写了个一键安装脚本。
安装包在这里http://kuai.xunlei.com/d/VWKMOOFSUWGB,直接解压,运行install.sh 就可以了。安装目录和my.com部分要根据自己的情况选择使用。
#!/bin/sh #mysql-5.5.25 auto install shell #yuanliqiang@b2c.xiaomi.com #from http://blog.****.net/ylqmf/article/details/8064356 serverid=135 objsocket="3306" curdir=$(cd "$(dirname "$0")"; pwd) basedir="/opt/soft/mysql" logdir="/logs/mysql/log${objsocket}" datadir="/data/mysql/data${objsocket}" mycnf="/etc/my${objsocket}.cnf" yum -y install gcc gcc-c++ ncurses-devel cmake bison make numactl libaio libaio-devel perl perl-DBD-MySQL perl-DBI libtool lsof /usr/sbin/groupadd -g 1001 mysql /usr/sbin/useradd -g mysql mysql -u 1001 -s /sbin/nologin cat >> /etc/sysctl.conf << EOF fs.aio-max-nr = 1048576 vm.swappiness = 0 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 30 EOF /sbin/sysctl -p mkdir -P ${basedir} mkdir -p ${logdir} mkdir -p ${datadir} rm -rf ${mycnf} tar -zxf libunwind-1.0.1.tar.gz tar -zxf gperftools-2.0.tar.gz tar -zxf mysql-5.5.25a.tar.gz source /etc/profile cd libunwind-1.0.1 CXX=gcc \ CHOST="x86_64-pc-linux-gnu" \ CFLAGS="-O3 " \ CXXFLAGS="${CFLAGS}" \ ./configure && make -j 4 && make install cp ./src/.libs/libunwind.so.8 /usr/lib64/ echo “/usr/local/lib” > /etc/ld.so.conf.d/usr_local_lib.conf /sbin/ldconfig cd ../gperftools-2.0 CHOST="x86_64-pc-linux-gnu" \ CFLAGS="-O3 " \ CXXFLAGS="${CFLAGS}" \ ./configure && make -j 4 && make install cd ../mysql-5.5.25a HOST="x86_64-pc-linux-gnu" \ CFLAGS="-O3" \ CXXFLAGS="${CFLAGS}" \ cmake -DCMAKE_INSTALL_PREFIX=${basedir} \ -DMYSQL_DATADIR=$datadir \ -DMYSQL_UNIX_ADDR=/tmp/mysql${objsocket}.sock \ -DMYSQL_TCP_PORT=${objsocket} \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \ -DWITH_EMBEDDED_SERVER=0 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_USER=mysql \ -DWITH_DEBUG=0 \ -DWITH_SSL=yes make -j 4 make install echo 'export PATH=$PATH:'${basedir}'/bin' >> /etc/profile echo "[client]: port = 3306 socket = /tmp/mysql${objsocket}.sock default-character-set = utf8 [mysql] default-character-set = utf8 [mysqld] character-set-server = utf8 tmpdir = /tmp port = 3306 socket = /tmp/mysql${objsocket}.sock pid_file = ${logdir}/mysql${objsocket}.pid max_connect_errors = 999999 max_connections = 2048 max_user_connections = 1024 back_log = 512 thread_cache_size = 300 skip-external-locking skip-name-resolve safe-user-create log_bin_trust_function_creators = 1 interactive_timeout = 60 wait_timeout = 60 open_files_limit = 65535 key_buffer_size = 16K max_allowed_packet = 16M table_definition_cache = 1024 table_open_cache = 1024 max_length_for_sort_data = 8M max_tmp_tables = 1024 max_heap_table_size = 256M tmp_table_size = 256M query_cache_size = 32M query_cache_limit = 2M #session join_buffer_size = 16M max_length_for_sort_data = 8M sort_buffer_size = 8M read_buffer_size = 8M read_rnd_buffer_size = 8M net_buffer_length = 1M thread_stack = 1M innodb_support_xa = 0 innodb_stats_on_metadata = 0 innodb_file_per_table memlock default-storage-engine = innodb innodb_buffer_pool_size = 2G innodb_additional_mem_pool_size = 512M innodb_change_buffering = all innodb_data_file_path = ibdata1:1024M:autoextend innodb_concurrency_tickets = 1024 innodb_log_group_home_dir = ${logdir} innodb_max_dirty_pages_pct = 75 innodb_flush_method = O_DIRECT innodb_log_file_size = 512M innodb_log_files_in_group = 3 innodb_use_sys_malloc = 1 innodb_use_native_aio = 1 innodb_purge_threads = 1 innodb_adaptive_flushing = 1 innodb_io_capacity = 2000 innodb_thread_concurrency = 0 innodb_read_io_threads = 8 innodb_write_io_threads = 8 innodb_lock_wait_timeout = 60 sync_binlog = 0 innodb_sync_spin_loops = 0 innodb_flush_log_at_trx_commit = 1 server-id = ${serverid} #log-slave-updates #log-bin = ${logdir}/mysql-bin #relay-log = ${logdir}/mysql-relay-bin #binlog_format = mixed #max_binlog_cache_size = 2G #expire_logs_days = 7 #max_binlog_size = 500M #skip_slave_start general-log = 1 general_log_file = ${logdir}/general.log slow-query-log = 1 slow_query_log_file = ${logdir}/slow_query.log long_query_time = 2 log-queries-not-using-indexes = 1 log_error = ${logdir}/log_error.err [mysqldump] quick max_allowed_packet = 16M [mysqladmin] #socket = /tmp/mysql${objsocket}.sock [mysql] no-auto-rehash [myisamchk] key_buffer_size = 8M sort_buffer_size = 8M [mysqlhotcopy] interactive-timeout "> ${mycnf} cd ${basedir} ${basedir}/scripts/mysql_install_db --defaults-file=${mycnf} --basedir=${basedir} --datadir=${datadir} --user=mysql sed '2iexport LD_PRELOAD="/usr/local/lib/libtcmalloc.so"' -i ${basedir}/bin/mysqld_safe chown mysql:mysql ${basedir} -R chown mysql:mysql ${datadir} -R chown mysql:mysql ${logdir} -R echo "nice -n -20 ${basedir}/bin/mysqld_safe --defaults-file=${mycnf} --datadir=${datadir} --user=mysql &" source /etc/profile echo "lsof -n | grep tcmalloc"
原文链接:http://blog.****.net/ylqmf/article/details/8064356