mysql一键执行脚本 超方便!!!_数据库脚本一件执行-程序员宅基地

技术标签: linux  mysql  数据库  centos  

mysql一键执行脚本

mysql一键执行脚本

  • 在初始虚拟机上,直接复制就ok了

#!/bin/bash

echo "-------编译安装mysqld 服务--------"
#将安装mysql 所需软件包传到/opt目录下
#mysql-5.7.17.tar.gz
#boost_1_59_0.tar.gz		#支持c++的运行库

echo "安装环境依赖包"
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake

echo "配置软件模块"

cd /opt
tar zxvf mysql-5.7.17.tar.gz
tar zxvf boost_1_59_0.tar.gz

cd /opt
mv boost_1_59_0 /usr/local/boost

cd /opt/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_EXTRA_CHARSETS=all \
-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


echo "编译及安装"
make -j 4 && make install

echo "创建mysql用户"
useradd -M -s /sbin/nologin  mysql

echo "修改mysql 配置文件"

echo "[client]
port = 3306
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
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
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 "> /etc/my.cnf



echo "更改mysql安装目录和配置文件的属主属组"
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

echo "设置路径环境变量"
echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile	
source /etc/profile

echo "初始化数据库"
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

echo "添加mysqld系统服务"
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/		#用于systemctl服务管理
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld
netstat -anpt | grep 3306

#修改密码
function abc {
passwd=$1
/usr/bin/expect <<-EOF
spawn mysqladmin -u root -p password $passwd
expect "Enter password:" 
send "\r"

expect eof
EOF
}
abc "abc123"


function bcd {
/usr/bin/expect <<-EOF
spawn mysql -u root -p
expect "Enter password:" {send "abc123\r"}
expect "mysql>" {send "grant all privileges on *.* to 'root'@'%' identified by 'abc123';\r"}
expect "mysql>" {send "show databases;\r"}
expect "mysql>" {send "quit\r"}
expect eof
EOF
}
bcd

echo "安装完成"
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_51614581/article/details/113183796

智能推荐

github 客户端总是登录失败,提示密码错误-程序员宅基地

文章浏览阅读1w次。把输入法调成英文即可!!

大数据分层-程序员宅基地

文章浏览阅读1.8k次。离线大数据分层_大数据分层

Shared Libraries: Understanding Dynamic Loading_cannot implicitly include runtime/cgo in a shared -程序员宅基地

文章浏览阅读339次。https://amir.rachum.com/blog/2016/09/17/shared-libraries/_cannot implicitly include runtime/cgo in a shared library

rtp和rtcp_rtp rtcp-程序员宅基地

文章浏览阅读1.2k次。原文参考1链接:https://blog.csdn.net/chen495810242/article/details/39207305原文参考2链接:https://blog.csdn.net/special00/article/details/82533768原文参考2链接:https://blog.csdn.net/davidsguo008/article/details/736584221、RTP1.1、RTP 简介实时传输协议RTP(Real-time Transport P._rtp rtcp

模数非互质的同余方程组(非互质版中国剩余定理)_中国剩余定理模数不互质怎么求-程序员宅基地

文章浏览阅读2.4k次。之前介绍到的中国剩余定理只能求解模数两两互质的同余方程组。 那么,模数如果不一定两两互质的情况应该怎么求呢? 下面介绍通过合并方程的方法来解决问题(要用到扩展欧几里德算法)。 顾名思义,合并方程就是把所有的同余方程组合并成一个。 举个例子,合并同余方程组 x%A=a ① x%B=b ② _中国剩余定理模数不互质怎么求

【程序猿历程,一键搞定Netty难关,看到NIO再也不犯糊涂了-程序员宅基地

文章浏览阅读72次。最后无论是哪家公司,都很重视基础,大厂更加重视技术的深度和广度,面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。针对以上面试技术点,我在这里也做一些资料分享,希望能更好的帮助到大家。戳这里免费领取以下资料[外链图片转存中…(img-d7lelHu1-1628391980159)][外链图片转存中…(img-aALH1rya-1628391980160)]...

随便推点

粘连 Footer 的 5 种方法 | CSS-Tricks_css trickt footer-程序员宅基地

文章浏览阅读409次。原文链接: https://css-tricks.com/couple-takes-sticky-footer/一个简短的历史,如果你愿意那样说的话。粘连 footer 的目的是让它“支撑”在浏览器窗口的底部。但不总是在底部,如果有足够的内容将页面撑开,footer 可以被撑到网页下方去。但是,如果页面的内容很短,粘连 footer 仍然会出现在浏览器窗口的底部。_css trickt footer

ArcGIS二次开发课程总结(附上代码)vs2010(C#)+AE-程序员宅基地

文章浏览阅读2.3k次,点赞5次,收藏54次。很久没有写了,原因很简单没有想起来,够简单粗暴吧,好吧承认都是借口—————————————————我是分界线哦———————————————————————— 昨天GIS程序与开发课结束了它的完整生命周期,老师让我们每个人做个总结。学号最后一个,便最后一个总结。课程上完,最大感受,嗯,我又学会了怎么拼代码!老师给我说了我的优缺点,可能当时没反应过来,今天早上才反应过来,所以..._arcgis10.2 源码c# vs2010 学习参考实例

ICCV2021目标检测方向论文_2021iccv[6]-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏35次。研究一下ICCV2021目标检测方向的论文。[1]GraphFPN: Graph Feature Pyramid Network for Object Detectionpaper:https://arxiv.org/abs/2108.00580code: TBD[2]SimROD: A Simple Adaptation Method for Robust Object Detectionpaper:https://arxiv.org/abs/2107.13389code:..._2021iccv[6]

node.js 版本升级_node.js 如何升级版本-程序员宅基地

文章浏览阅读4.8k次。一个超级简单的升级node.js的方法node有一个模块叫n,专门用来管理node.js的版本,我们通过这个模块来升级node.js.首先安装n模块:npm install -g n然后升级node.js的最新稳定版:// 如果遇到权限问题,可以使用 sudo n stablen stablen后面也可以跟随版本号:n v7.0.0npm的常用命令:npm -v_node.js 如何升级版本

ARM DS-5入门之 概述-程序员宅基地

文章浏览阅读586次。关于 DS-5 DS- 5是基于Linux系统和裸机嵌入式系统,涵盖了从启动代码和内核移植,应用程序和裸机调试的各个阶段,专业的软件开发解决方案。它还包括性能分析。DS-5 包括: l DS-5 Debugger. l DS-5 Eclipse是一种集成开发环境 (IDE),将编译和调试工具结合在一起。l Real-Time System Models。l ARM Stre..._arm ds 定义变量 汇编

FamaMacBeth1973两步法详解-xtfmb-asreg_stata fama macbeth-程序员宅基地

文章浏览阅读4.3k次,点赞3次,收藏44次。全文阅读:https://www.lianxh.cn/news/08553a2f40e3d.html目录1. 方法概述 1.1 第一阶段:时序回归 1.2 第二阶段:截面回归 1.3 两阶段过程总结 2. 模型设定 3. Stata 命令简介 3.1 asreg:两阶段回归 3.2 xtfmb:第二阶段回归 4. Stata 实现 4.1 第一阶段:时序回归 4.2 第二阶段:截面回归 6. 参考文献 7. 相关推文全文阅读:https:/_stata fama macbeth