首页 > 数据库 >MySQL-安装脚本参考

MySQL-安装脚本参考

时间:2024-05-08 17:12:16浏览次数:18  
标签:脚本 info 参考 MySQL mnt etc install mysql txt

#!/bin/bash
 
#安装MySQL程序
install_mysql(){
#mv /etc/yum.repos.d/* /tmp/
#curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#yum install -y nfs-utils net-tools vim iotop telnet sysstat
mount -t nfs 10.20.30.200:/DATA /mnt
tar -xvf /mnt/software/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
ln -s /usr/local/mysql-8.0.20-linux-glibc2.12-x86_64 /usr/local/mysql
yum remove -y mariadb-libs
useradd mysql -M -s /sbin/nologin
mkdir -p /data/mysql/data
chown -R mysql.mysql /data/mysql/data
cp /mnt/software/my_8.0.x.cnf /etc/my.cnf
cat >>/etc/profile <<EOF
export PATH=/usr/local/mysql/bin:$PATH
EOF
source /etc/profile
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize-insecure
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start
chkconfig --add mysqld
}
 
 
#设置server_id
#SELECT inet_aton('192.168.0.2') as ip10进制;
#SELECT inet_ntoa(@@server_id) as 真实ip;
set_server_id(){
ip_addr=`ifconfig |grep 'broadcast' | awk '{print $2}'`
a=`echo ${ip_addr} | cut -d '.' -f1`
b=`echo ${ip_addr} | cut -d '.' -f2`
c=`echo ${ip_addr} | cut -d '.' -f3`
d=`echo ${ip_addr} | cut -d '.' -f4`
ip_addr_num=`expr $a \* 256 \* 256 \* 256 + $b \* 256 \* 256 + $c \* 256 + $d`
 
sed -i "s/server_id=1/server_id=$ip_addr_num/g" /etc/my.cnf
/usr/local/mysql/bin/mysql -e "set global server_id=$ip_addr_num;"
}
 
 
#重置root密码、设置开发用户、设置备份
set_password(){
new_password=`openssl rand -base64 12`
dev_password=`openssl rand -base64 12`
install_date=`date +"%Y-%m-%d %H:%M:%S"`
ip=`/sbin/ip addr|grep '10\.'|awk -F'[ /]+' '{print $3}'`
 
/usr/local/mysql/bin/mysql -e "alter user root@'localhost' identified with mysql_native_password by '$new_password';"
sed -i "s/password=/password=$new_password/g" /etc/my.cnf
 
/usr/local/mysql/bin/mysql -e "create user dev_root@'%' identified by '$dev_password';"
/usr/local/mysql/bin/mysql -e "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, CREATE VIEW,SHOW VIEW ON *.* TO dev_root@'%';"
 
#/usr/local/mysql/bin/mysql -e "create user repl@'%' identified by 'etocrm@2022';"
#/usr/local/mysql/bin/mysql -e "grant replication slave on *.* to repl@'%';"
 
#安装xtrabackup及备份脚本
cd /mnt/software && yum localinstall -y percona-xtrabackup-80-8.0.30-23.1.el7.x86_64.rpm percona-toolkit-3.4.0-3.el7.x86_64.rpm
cp /mnt/software/wux_nas_xtrabackup.sh /root/
sed -i "s/PWD=/PWD=$new_password/g" /root/wux_nas_xtrabackup.sh
echo "10 00 * * * /bin/sh /root/wux_nas_xtrabackup.sh > /dev/null" >>/var/spool/cron/root
 
#echo "#########" >> /mnt/checklist/mysql/mysql_install_info.txt
echo "install date:$install_date" >> /mnt/checklist/mysql/mysql_install_info.txt
echo "addr:$ip" >> /mnt/checklist/mysql/mysql_install_info.txt
echo "user:root password:$new_password" >> /mnt/checklist/mysql/mysql_install_info.txt
echo "user:dev_root password:$dev_password" >> /mnt/checklist/mysql/mysql_install_info.txt
echo "#########" >> /mnt/checklist/mysql/mysql_install_info.txt
 
}
 
#设置邮件
set_mail(){
yum install -y mailx #sendmail
cat >/etc/mail.rc <<EOF
set [email protected]
set smtp=smtp.exmail.qq.com
set [email protected]
set smtp-auth-password=123456
set smtp-auth=login
EOF
mail -s "my.cnf" [email protected] < /etc/my.cnf
}
 
#添加监控
set_monitor(){
cp /mnt/software/mysql_check.sh /tmp/
echo "*/1 * * * * /bin/sh /tmp/mysql_check.sh > /tmp/mysql_check.info" >>/var/spool/cron/root
 
umount /mnt
}
 
 
install_mysql
set_server_id
set_password
set_mail
set_monitor

标签:脚本,info,参考,MySQL,mnt,etc,install,mysql,txt
From: https://www.cnblogs.com/enzo-ocean/p/18180269

相关文章

  • ssl check 工具以及参考命令
    有时我们希望对于ssl进行一些信息的查看,以下是一些工具,以及参考使用命令nmapnmap--scriptssl-enum-ciphers-p5671possum.lmq.cloudamqp.comopensslopenssls_client-connectpossum.lmq.cloudamqp.com:5671-servernamepossum.lmq.cloudam......
  • 【container】【docker-compose】【mysql】【redis】【rabbit mq】【mongo】【elastic
    @目录写在前面mysqlredisrabbitmqmongoelasticsearch单节点多节点参考资料dockerkuberneteshelmk3s写在前面相关博文个人博客首页免责声明:仅供学习交流使用!开源框架可能存在的风险和相关后果将完全由用户自行承担,本人不承担任何法律责任。mysqlversion:'3'services:......
  • mysql约束
    1.概述概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。目的:保证数据库中数据的正确、有效性和完整性。分类: 注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。2.约束演示案例需求:根据需求,完成表结构的创建。需求如下: 对应的建表语......
  • mysql函数
    1.字符串函数 MySQL中内置了很多字符串函数,常用的几个如下: 演示:concat:字符串拼接selectconcat('Hello','MySQL');lower:全部转小写selectlower('Hello');upper:全部转大写selectupper('Hello');lpad:左填充selectlpad('01',......
  • 2. redis VM监控脚本
    可以根据实际情况进行修改#!/bin/bash#redis机器资源监控#--------#邮件配置:#curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com/repo/Centos-7.repo#yum-yinstallsendmailmailx#vim/etc/mail.rc#[email protected]#setsmtp=smtp.ex......
  • mysql8 根据ibd文件恢复表
    原文https://github.com/ddcw/ibd2sql 环境:mysql8.0.33一、创建测试数据Mysql8.0.32环境:mysql>createtablet1(idint,namevarchar(200));QueryOK,0rowsaffected(0.02sec)mysql>insertintot1select1,'a';QueryOK,1rowaffected(0.01sec)......
  • 常见中文乱码类型及其转换脚本
    forfin"$@"doif[[-f$f]];thenfileName=$(basename${f})filePath=$(dirname${f})iconv-fGB18030-tUTF-8$f>${filePath}/.${fileName}.tmpmv${filePath}/.${fileName}.tmp$ffidoneforfin......
  • 【攻防技术系列+Python】-- 将Python脚本转化为exe文件
    将Python脚本转化为exe文件到目前为止,我们已经介绍了一个远程控制程序所有常用功能的实现、但是实现的脚本在执行时需要Python环境和模块文件的支持,而目标设备上往往不具备这种条件。如果将使用Python编写的远程控制程序变成在Windows中可以执行的exe文件,就可以解决这个问题......
  • MySQL索引数据结构
    什么是索引索引在项目中还是比较常见的,它是帮助MySOL高效获取数据的数据结构,主要是用来提高数据检索的效率,降低数据库的IO成本,同时通过索引列对数据进行排序,降低数据排序的成本,也能降低了CPU的消耗。索引的底层数据结构MySQL的默认的存储引擎InnoDB采用的B+树的数据结构来存储......
  • mysql基本语法
    1.DDLDataDefinitionLanguage,数据定义语言,用来定义数据库对象(数据库,表,字段)。 1.1数据库操作查询所有数据库showdatabases;查询当前数据库selectdatabase();创建数据库createdatabase[ifnotexists]数据库名[defaultcharset字符集][col......