环境要求: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、脚本如下:
需要填写MySQL的版本信息、端口信息、serverid信息等
4、登入MySQL 修改密码
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、脚本如下:
2、执行自动安装脚本点击(此处)折叠或打开
- #/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
需要填写MySQL的版本信息、端口信息、serverid信息等
3、自动安装完毕 启动点击(此处)折叠或打开
- 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...
# 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')
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29987453/viewspace-2149405/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29987453/viewspace-2149405/