MySQL自动安装脚本共享
发布时间:2022-01-18 13:35:07 所属栏目:MySql教程 来源:互联网
导读:本篇内容介绍了MySQL自动安装脚本分享的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 环境要求:centos:6.8 MySQL:5.7.20 MySQL安装文件名:mysql-
![]() 本篇内容介绍了“MySQL自动安装脚本分享”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 环境要求:centos:6.8 MySQL:5.7.20 MySQL安装文件名:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz MySQL源文件路径:/usr/local/src MYSQL脚本文件:/usr/local/src/install_mysql.sh 1、脚本如下: #/bin/sh #px 2017-11-29 #mysql install #email:kitten-pan@163.com & 752684428 #version 2.0 #mysql-version mysql5.7.20 source_path=/usr/local/src install_path=/usr/local/mysql install_name=mysql-5.7.20-linux-glibc2.12-x86_64 ##检测本机环境 env_fun() { echo "============检测本机环境,please wait ..." username=`cat /etc/passwd |grep mysql|cut -c 1-5` if [ "$username" = "mysql" ];then echo "MySQL account is exits..." return 10 else echo "mysql account is not exits,ready add..." groupadd mysql useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql return 12 fi } ##判断MySQL是否安装 check_fun() { rpm_name=`rpm -aq |grep mysql-server` echo $rpm_name if [ ! $rpm_name ];then echo "begin check the source install,please wait for a moment..." if [ -d $install_path ];then echo "source install is exist,quit..." exit 0 else echo "本机未安装MySQL,稍后为你安装..." install_fun op_fun fi else echo -n "rpm MySQL已经安装,是否删除?[yes|no]" read select if [ $select = yes ];then rpm -e $rpm_name --nodeps rm -rf /var/log/mysqld.log check_fun else exit 0 fi fi } ###安装MySQL install_fun() { read -p "Input a mysql version:" -t 30 mysql_version read -p "Input a mysql port:" -t 30 mysql_port read -p "Input a mysql_server_id:" -t 30 mysql_server_id cd $source_path && echo "解压中,please waiting..." tar -zxvf ${install_name}.tar.gz && mv $install_name $install_path ##创建数据目录 mkdir -pv /data/mysqldata ###给MySQL目录的MySQL账号权限 cd /usr/local && chown mysql.mysql mysql chown -R mysql.mysql /data/mysqldata cd $install_path && bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqldata cd support-files && cp -rf mysql.server /etc/init.d/mysqld sed -i 's#datadir=/usr/local/mysql/data#datadir=/data/mysqldata#g' /etc/init.d/mysqld cat > /etc/my.cnf << EOF [client] port = 3309 socket = /tmp/mysql.sock default-character-set = utf8 [mysqld] ##mysql-version=5.7.20 port = 3309 socket = /tmp/mysql.sock datadir = /data/mysqldata basedir = /usr/local/mysql pid-file = /data/mysqldata/mysqld.pid user = mysql server-id = 1 lower_case_table_names = 1 character-set-server = utf8 back_log = 300 max_connections = 1000 max_connect_errors = 6000 open_files_limit = 65535 table_open_cache = 128 max_allowed_packet = 4M binlog_cache_size = 1M max_heap_table_size = 8M tmp_table_size = 16M read_buffer_size = 2M read_rnd_buffer_size = 8M sort_buffer_size = 8M join_buffer_size = 8M key_buffer_size = 4M thread_cache_size = 8 query_cache_type = 0 query_cache_size = 2M query_cache_limit = 2M ft_min_word_len = 4 log_bin = mysql-bin binlog_format = row expire_logs_days = 30 log-error=/data/mysqldata/mysqld.log slow_query_log = 1 long_query_time = 1 slow_query_log_file = /data/mysqldata/mysql-slow.log performance_schema = 0 explicit_defaults_for_timestamp skip-external-locking default-time_zone = '+8:00' default_storage_engine = InnoDB innodb_file_per_table = 1 innodb_data_file_path = ibdata1:300M:autoextend innodb_open_files = 5000 innodb_buffer_pool_size = 2048M innodb_write_io_threads = 4 innodb_read_io_threads = 8 innodb_thread_concurrency = 0 innodb_purge_threads = 1 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 128M innodb_log_file_size = 256M innodb_log_files_in_group = 2 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 bulk_insert_buffer_size = 8M myisam_sort_buffer_size = 8M myisam_max_sort_file_size = 10G myisam_repair_threads = 1 interactive_timeout = 28800 wait_timeout = 300 [mysqldump] quick max_allowed_packet = 16M [myisamchk] key_buffer_size = 8M sort_buffer_size = 8M read_buffer = 4M write_buffer = 4M EOF echo "export PATH=/$PATH:/usr/local/mysql/bin">>/etc/profile echo 'export MYSQL_PS1="(u@h:p) [d]>"' >> /etc/profile source /etc/profile service mysqld restart } op_fun() { chmod 755 /etc/init.d/mysqld chkconfig --add mysqld chkconfig --level 345 mysqld on } main(){ echo "###==================================================###" echo "###welcome to make install mysql with this script###" echo "###copyright 2013 by px###" echo "###==================================================###" sleep 5 env_fun re=$? if [ re = 10 ];then check_fun else check_fun fi } main exit 0 2、执行自动安装脚本 需要填写MySQL的版本信息、端口信息、serverid信息等 点击(此处)折叠或打开 sh install_mysql.sh ###==================================================### ###welcome to make install mysql with this script### ###copyright 2013 by px### ###==================================================### ============检测本机环境,please wait ... mysql account is not exits,ready add... begin check the source install,please wait for a moment... 本机未安装MySQL,稍后为你安装... Input a mysql version:5.7.20 Input a mysql port:3309 Input a mysql_server_id:1 解压中,please waiting... 3、自动安装完毕 启动 # service mysqld restart MySQL server PID file could not be found! [FAILED] Starting MySQL............. [ OK ] 4、登入MySQL 修改密码 点击(此处)折叠或打开 [root@ct562 mysqldata]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 3 Server version: 5.7.20-log Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. (root@localhost:mysql.sock) [(none)]> (root@localhost:mysql.sock) [(none)]> (root@localhost:mysql.sock) [(none)]> (root@localhost:mysql.sock) [(none)]> (root@localhost:mysql.sock) [(none)]> (root@localhost:mysql.sock) [(none)]>set password for root@'localhost' =PASSWORD('sysdba@321') “MySQL自动安装脚本分享”的内容就介绍到这里了,感谢大家的阅读。 (编辑:通辽站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |