#!/bin/bash
#此脚本需要事先下载mysql二进制包到本地
#mysql安装路径 /usr/local/mysql
#mysql数据目录 /data/mysql
#mysql日志目录 /var/log/mysql
#如果退出登录显示找不到mysql命令 执行source /etc/profile就可以了
cd /tmp
yum install -y lrzsz
echo "在本地文件中选择mysql二进制安装包"
rz
echo "上传成功,开始解压配置"
w=`ls /tmp/ | egrep "^mysql.*.tar.gz$"`
tar -xvf $w
m=`ls /tmp | egrep "^mysql.*86_64$"`
mv $m /usr/local/mysql
useradd mysql -s /sbin/nologin
chown -R mysql:mysql /usr/local/mysql
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
mkdir -p /var/log/mysql
chown -R mysql:mysql /var/log/mysql
echo "[client]
port = 3306
socket = /data/mysql/mysql.sock
[mysqld]
port = 3306
socket = /data/mysql/mysql.sock
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql
#server_id=6
log-error=/var/log/mysql/error.log
#log=/var/log/mysql/mysql.log
#慢日志查询开启,2秒写入
slow_query_log = on
long_query_time = 2
slow-query-log-file = /var/log/mysql/slow.log
skip-external-locking
key_buffer_size = 32M
max_allowed_packet = 1024M
table_open_cache = 128
sort_buffer_size = 768K
net_buffer_length = 8K
read_buffer_size = 768K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
query_cache_size = 16M
tmp_table_size = 32M
performance_schema_max_table_instances = 1000
explicit_defaults_for_timestamp = true
#skip-networking
max_connect_errors = 100
open_files_limit = 65535
gtid-mode=on
enforce-gtid-consistency=true
log_bin=mysql-bin
binlog_format=mixed
server_id = 232
expire_logs_days = 10
early-plugin-load = ""
default_storage_engine = InnoDB
innodb_file_per_table = 1
innodb_buffer_pool_size = 128M
innodb_log_file_size = 32M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 32M
sort_buffer_size = 768K
read_buffer = 2M
write_buffer = 2M"> /etc/my.cnf
cd /usr/local/mysql
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
echo "[Unit]
Description=mysqld
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.d/init.d/mysqld start
ExecReload=/etc/rc.d/init.d/mysqld restart
ExecStop=/etc/rc.d/init.d/mysqld stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target"> /lib/systemd/system/mysqld.service
systemctl daemon-reload
systemctl enable mysqld
systemctl start mysqld
netstat -lnt
ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
echo "数据库安装成功 "
read -p "请输入你想设置的密码" pas
echo "直接按enter完成密码设置"
mysql -u root -p -e"set password='$pas';"
mysql -uroot -p$pas