mysql安装、导入数据脚本

版权声明:本文为小胡子博主原创文章,转载请附上博文链接! https://blog.csdn.net/woshaguayi/article/details/89682209

mysql安装:

#!/bin/bash
if [ $(id -u) != "0" ]; then
    echo "Error: You must be root to run this script, please use root to install mysql"
    exit 1
fi
unzip Mysql.zip
cd /home/install_LFS/Mysql
cur_dir=$(pwd)
mkdir -p /usr/local/mysql
mkdir -p /data/var
groupadd mysql
useradd -s /sbin/nologin -M -g mysql mysql
pass="mysql2012"

eco "============================Install ncurses-6.0=================================="
cd $cur_dir
tar zxvf ncurses-6.0.tar.gz
cd ncurses-6.0
./configure
make
make install

echo "============================Install cmake=================================="
cd $cur_dir
tar zxvf cmake-3.3.2.tar.gz
cd cmake-3.3.2
./bootstrap
make
make install

echo "============================Install MySQL 5.6.27=================================="
cd $cur_dir
rm -f /etc/my.cnf
tar zxvf mysql-5.6.27.tar.gz
#编译
cd mysql-5.6.27
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/var -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1  -DWITH_INNOBASE_STORAGE_ENGINE=1
make && make install
#初始化
cd /usr/local/mysql
./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/var --user=mysql
cd support-files
cp -R my-default.cnf /etc/my.cnf 
cp -R mysql.server /etc/rc.d/init.d/mysqld
cd /
chown -R mysql.mysql /data/var
cd /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql/
cd /etc/
chown -R mysql.mysql /etc/my.cnf
cd /etc/init.d/
chown -R mysql.mysql mysqld
service mysqld start
chkconfig --add mysqld
chkconfig mysqld on
#配置默认账号密码root+mysql2012
/usr/local/mysql/bin/mysqladmin -u root password $pass
cat > /tmp/mysql_sec_script<<EOF
use mysql;
update user set password=password('$pass') where user='root';
delete from user where not (user='root') ;
delete from user where user='root' and password=''; 
drop database test;
DROP USER ''@'%';
flush privileges;
EOF

/usr/local/mysql/bin/mysql -u root -p$pass -h localhost < /tmp/mysql_sec_script
rm -f /tmp/mysql_sec_script

/etc/init.d/mysqld restart
/etc/init.d/mysqld stop
chkconfig --level 345 mysqld on

echo -e "\033[35 ====================配置=================\033[0m"
cd $cur_dir
#替换配置文件
yes|cp my.cnf /etc/my.cnf
chown -R mysql.mysql /etc/my.cnf
mkdir -p /linkapp_backup
cd $cur_dir
cp  mysqlbk.sh /linkapp_backup/
[ $? -eq 0 ] && echo "移动成功" || echo -e "移动文件失败"
#定时任务
  crontab -l > crontab.mysql
  echo "02 10 * * * /linkapp_backup/mysqlbk.sh" >> crontab.mysql
  crontab crontab.mysql


echo -e  "\033[35m ===========================Mysql启动===================\033[0m"
echo -e "\033[35m Starting Mysql...\033[0m"
/etc/init.d/mysqld start
if [ -s /sbin/iptables ]; then
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables-save
fi

echo "===================================== Check install ==================================="
clear
ismysql=""
echo "Checking..."
if [ -s /usr/local/mysql ] && [ -s /usr/local/mysql/bin/mysql ]; then
  echo -e "\033[35m MySQL: OK \033[0m"
  ismysql="ok"
  echo "========您的Mysql已经安装成功,可以使用了,谢谢!====================================="
  ps -ef |grep mysql 
  echo -e   "\033[31m  default mysql root password:$pass \033[0m"
  echo "The path of some dirs:"
  echo -e "\033[31m mysql dir:   /data/mysql \033[0m"
 # netstat -ntl
  echo -e "\033[31m run mysql is : $ismysql \033[0m"
  
  echo "==========================   MySQL is OK  ============================================"
  #关闭防火墙
  service iptables status
  service iptables stop
  chkconfig iptables off
  else
      echo "Error: /usr/local/mysql not found!!!MySQL install failed."
      echo "失败-----Sorry,Failed to install Mysql"
fi






导入数据

#!/bin/bash
USER='root'  
PASS='mysql2012'
mysql -u $USER -p$PASS  <<EOF 2> /dev/null
create database data_linkapp default charset utf8;
EOF
if [ $? -eq 0 ] 
then 
mysql -u $USER -p$PASS << EOF 
show databases;
use data_linkapp; 
source /usr/linkapp/bin/data.sql
EOF
[ $? -eq 0 ]  && echo "导入数据库data成功"  || echo  "导入失败"
else 
echo -e "\e[31;47;1m创建失败,已存在data_linkapp\e[0m"
fi

猜你喜欢

转载自blog.csdn.net/woshaguayi/article/details/89682209