# 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