首页 > 数据库 >完整创建数据库,shell脚本

完整创建数据库,shell脚本

时间:2023-10-08 15:57:03浏览次数:59  
标签:脚本 shell -- 数据库 etc mysql db02 root app

# 1.安装依赖
[root@db03 ~]# yum install -y autoconf libaio-devel

# 1.解压
[root@db02 ~]# tar xf mysql-5.6.50-linux-glibc2.12-x86_64.tar.gz

# 2.创建app目录
[root@db02 ~]# mkdir /app

# 3.移动目录
[root@db02 ~]# mv /root/mysql-5.6.50-linux-glibc2.12-x86_64 /app/mysql-5.6.50

# 4.做软链接
[root@db02 ~]# ln -s /app/mysql-5.6.50 /app/mysql

# 5.创建MySQL用户
[root@db02 ~]# useradd mysql -s /sbin/nologin -M

# 6.进入初始化脚本目录
[root@db02 ~]# cd /app/mysql/scripts/
[root@db03 scripts]# ll
total 36
-rwxr-xr-x 1 root root 34977 Jul 18 17:08 mysql_install_db

# 7.初始化
## 需要指定,程序安装目录,数据目录,用户
[root@db02 bin]# /app/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data

# 8.拷贝启动脚本
[root@db02 mysql]# cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld

# 9.添加配置文件
[root@db02 mysql]# vim /etc/my.cnf
[mysqld]
basedir=/app/mysql
datadir=/app/mysql/data

# 10.启动数据库
[root@db03 scripts]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/app/mysql-5.6.50/data/db03.err'.
 SUCCESS!

# 11.添加环境变量
[root@db01 ~]# vim /etc/profile.d/mysql57.sh
PATH="/app/mysql/bin:$PATH"

# 12.生效环境变量
[root@db03 scripts]# source /etc/profile

# 没有密码时设置密码
mysqladmin -uroot -p password '123'
Enter password:   // 直接回车就好,这个是让输入旧密码

# 创建启动脚本
[root@db02 system]# vim /usr/lib/systemd/system/mysql.service
[Unit]
Description=mysqld
[Service]
#Type=notify
ExecStart=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target

# 重新加载systemd的配置文件
[root@db02 system]# systemctl daemon-reload

# 配置文件优化
cat >/etc/my.cnf<< EOF
[mysqld]
basedir=/app/mysql
datadir=/app/mysql/data
socket=/app/mysql/data/mysql.sock

[mysql]
user=root
password=123
socket=/app/mysql/data/mysql.sock
prompt=\u@\h[\d]>
EOF

1. 设置成命令,把连接命令写进来
[root@db02 system]# vim /usr/local/bin/mysql3307
mysql -uroot -p123 -S /data/3307/mysql.sock

2. 给执行权限
[root@db02 system]# chmod +x /usr/local/bin/mysql3307

测试过可安装

# 下载5.7的mysql包
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.42-linux-glibc2.12-x86_64.tar
# 安装依赖
yum install -y autoconf libaio-devel
# 解压(上面那个压缩包解压后有俩个)
tar xf mysql-5.7.42-linux-glibc2.12-x86_64.tar
tar xf mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz
# 创建app目录
mkdir /app
# 移动目标
mv /root/mysql-5.7.42-linux-glibc2.12-x86_64 /app/mysql-5.7.42
# 做软连接
ln -s /app/mysql-5.7.42 /app/mysql
# 创建mysql用户
useradd mysql -s /sbin/nologin -M
# 初始化
/app/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data
# 拷贝启动脚本
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
# 添加配置文件
cat >/etc/my.cnf<< EOF
[mysqld]
basedir=/app/mysql
datadir=/app/mysql/data
EOF
# 添加环境变量
cat >/etc/profile.d/mysql57.sh<< EOF
PATH="/app/mysql/bin:$PATH"
EOF
# 生效命令
[root@nfs ~]# source /etc/profile
# 创建启动脚本
cat >/usr/lib/systemd/system/mysql.service<<EOF
[Unit]
Description=mysqld
[Service]
#Type=notify
ExecStart=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
EOF
# 重新加载systemd的配置文件
systemctl daemon-reload
# 启动数据库,加入开机自启
systemctl start mysqld
systemctl enable mysqld
# 设置密码
/app/mysql/bin/mysql -e "set password='123';"
# 完善配置文件
cat >>/etc/my.cnf<< EOF
socket=/app/mysql/data/mysql.sock

[mysql]
user=root
password=123
socket=/app/mysql/data/mysql.sock
prompt=\u@\h[\d]>
EOF
# 重启数据库
[root@nfs ~]# systemctl restart mysqld
# 进入数据库
mysql

# sock默认生成在,(所以要重启数据库)
[root@nfs ~]# find / -name *.sock
/tmp/mysql.sock

标签:脚本,shell,--,数据库,etc,mysql,db02,root,app
From: https://www.cnblogs.com/xiutai/p/17749274.html

相关文章

  • 图形化登录,数据库设置
    #创建库root@localhost[tu]>createdatabasetu;##进入库usetu;#创建表结构CREATETABLE`tiao`(`ip`int(10)unsignedzerofillNOTNULLAUTO_INCREMENTCOMMENT'ip区分',`name`varbinary(5)NOTNULLCOMMENT'用户昵称',`password`varbina......
  • 学生管理系统使用集合保存,不是用数据库的(仅供参考,网上找的,记录用)
    packagecom.ima;importcom.itheima.Student;importjava.util.ArrayList;importjava.util.Scanner;/*学生管理系统*/publicclassStudentManager{publicstaticvoidmain(String[]args){//创建集合对象,用于存储学生数据ArrayList<Student>a......
  • shell脚本执行make不一定调用Makefile
    今天在研究安卓编译流程时发现,shell脚本内执行make并不会调用当前路径下的Makefile,这有点让我大吃一惊。一番定位过后,发现执行make时调用的是另外一个shell脚本内定义的make函数,所以猜想可能GNUMake工具发现make有定义,所以直接调用该函数去了。于是我做了如下实验进行猜想验......
  • 关于数据库的复习
    数据库分位关系数据库和非关系数据库关系数据库中有Oracle、DB2、SQLServer、MySQL等。非关系数据库就是NOSQL。这老师MySQL的官网下载地址https://dev.mysql.com/downloads/windows/installer/8.0.html接下来就是使用图形客户端navicat来操作数据库了。再就是SQL语句:数据查......
  • Centos系统安装MySQL数据库时,要以不安全的方式连接至 dev.mysql.com,使用“--no-check-
    解决:要以不安全的方式连接至dev.mysql.com,使用“--no-check-certificate” 问题:[root@192桌面]#wgethttps://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm--2023-10-0812:44:16--https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.......
  • Python IDLE和Shell的快捷键
     PythonIDLEShell的快捷键自动补全          Alt+/(查找编辑器内已经写过的代码来补全)上一条命令          Alt+P下一条命令          Alt+N PythonIDLE编辑器的快捷键自动补全代码        Alt+/(查找编辑器内已经写过的代码来补......
  • web DevOps / shell d3 / case
    s案例1:中断及退出案例2:基于case分支编写脚本案例3:编写一键部署软件脚本案例4:启动脚本案例5:使用Shell函数案例6:字符串处理案例7:字符串初值的处理1案例1:中断及退出1.1问题本案例要求编写两个Shell脚本,相关要求如下:从键盘循环取整数(0结束)并求和,输出最终结果1.2方......
  • VSCode & Intellij IDEA CE 数据库连接
    VSCode&IntellijIDEACE数据库连接大概记一下现在正在用的几个工具/插件VSCodeVSCode里面的工具我下载了很多,如果只是链接MySQL的话,可能用JunHan这位大佬的MySQL就好了:使用这个插件直接打开.sql文件单击运行就能跑sql命令,而且跑起来也挺方便的不过我们项目......
  • 编写脚本实现tomcat一键安装8.5版本
    #下载包到/root目录[root@tomcat~]#lljdk-8u212-linux-x64.tar.gzapache-tomcat-8.5.82.tar.gz-rw-r--r--1rootroot10610025Aug2717:14apache-tomcat-8.5.82.tar.gz-rw-r--r--1rootroot195013152Aug2717:08jdk-8u212-linux-x64.tar.gz#编写脚本[root@to......
  • 如何用tfds加载本地数据库
    云端的数据库存储在google的服务器,所以无法通过tfds.load('mnist',split='train')这样的方式直接加载,下面是一些变通的方式来读取。一、MNIST数据库1.我用tfds.load去加载本地的mnist数据库,mnist/3.0.1应该具有什么样的数据格式答:如果你正在使用`tfds.load`来加载本地的MNIST......