mysql5.7安装脚本

#/bin/bash
yum -y install ncurses bison cmake gcc gcc-c++ ncurses-devel
useradd mysql -s /sbin/nologin
read -p "输入你存放压缩包的绝对路径:" abc
cd $abc
tar zxvf boost_1_59_0.tar.gz
tar zxvf mysql-5.7.17.tar.gz
mv boost_1_59_0 /usr/local/boost
cd mysql-5.7.17/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DSYSCONFDIR=/etc -DSYSTEMD_PID_DIR=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=/usr/local/boost -DWITH_SYSTEMD=1
make
make install
chown -R mysql:mysql /usr/local/mysql/
cd /etc
rm -rf my.cnf
touch my.cnf

cat > /etc/my.conf <<EOF
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
EOF

chown mysql.mysql /etc/my.cnf
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile

cd /usr/local/mysql/
bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
cp usr/lib/systemd/system/mysqld.service /lib/systemd/system/
systemctl daemon-reload
systemctl start mysqld
netstat -ntap |grep 3306

ln -s /usr/local/mysql/bin/* /usr/local/bin

mysqladmin -u root -p password

echo "abc123"|mysqladmin -u root -p password
echo "
abc123
" | mysqladmin -u root -p password

mysqladmin -u root -p<<EOF
abc123
EOF



mysql -u root -p

grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;
flush privileges;



#!/usr/bin/expect<<EOF
spawn mysqladmin -u root -p password
expect {
	"*password*" 
	{send "abc123\r";exp_continue}
	"New"
	{send "abc1234\r";exp_continue}
	"Confirm"
	{send "abc1234\r"}
}
expect eof
EOF