1.MySQL 5.7 二进制方式部署

1.MySQL 5.7二进制方式部署

一、准备环境

准备一台Centos 7.6系统 最小内存512,最好挂载两块磁盘一块作为系统盘,一块作为MySQL数据盘。

1.、修改hosts、关闭selinux、firewalld

hostnamectl set-hostname mysql01
sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
systemctl stop firewalld && systemctl disable firewalld

2、创建目录

#1.创建程序目录
mkdir /application
#2.创建存放软件包目录
mkdir tools

3、格式化数据磁盘并挂载到/data下

#1.格式化/dev/sdb磁盘
mkfs.xfs /dev/sdb
#2.mount挂载加入开机自启、每个UUID值不一样通过 blkid命令查看
echo "UUID=26390314-0703-4200-a181-0f8fdaf09368 /data xfs defaults 0 0 " >> /etc/fstab
#3.mount 挂载
#4.查看是否挂载情况
[root@mysql01 ~]# df -Th | grep "/data"
/dev/sdb                xfs        20G   33M   20G    1% /data

二、通过二进制方式部署MySQL 5.7

mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
下载地址 https://downloads.mysql.com/archives/community/
在这里插入图片描述

1、上传二进制包到/tools目录中并解压至/application程序目录中

cd /tools && tar zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /application/
cd /application/ && mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql-5.7.26

2、用户的创建处理原始环境

yum remove mariadb-libs-5.5.60-1.el7_5.x86_64 -y   或手动删除/etc/my.cn文件
rpm -qa |grep mariadb
useradd -s /sbin/nologin mysql

3、设置环境变量

echo 'PATH=/application/mysql-5.7.26/bin:$PATH' >> /etc/profile
source /etc/profile

4、初始化数据

#1.创建数据目录并授权
mkdir /data/mysql/data -p && chown -R mysql.mysql /data
#2.初始化 (二选一)
mysqld --initialize --user=mysql --basedir=/application/mysql-5.7.26 --datadir=/data/mysql/data			//有临时密码初始化
mysqld --initialize-insecure --user=mysql --basedir=/application/mysql-5.7.26 --datadir=/data/mysql/data		//无临时密码初始化

5、配置my.cnf文件

cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/application/mysql-5.7.26
datadir=/data/mysql/data 
socket=/tmp/mysql.sock 
server_id=6
port=3306
log_error=/data/mysql/mysql.log 
# log_bin=/data/mysql/mysql-bin
[mysql] 
socket=/tmp/mysql.sock
EOF

6、启动数据库

#1.默认启动方式
[root@db01 ~]#cd /application/mysql/support-files/
[root@db01 support-files ]#./mysql.server start

#2.设置sys-v  service启动
[root@db01 /etc/init.d]# cp /application/mysql/support-files/mysql.server  /etc/init.d/mysqld 
[root@db01 /etc/init.d]# service mysqld restart

#3.设置systemd启动
注意: sysv方式启动过的话,需要先提前关闭,才能以下方式登录
cat >/etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql-5.7.26/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF

启动
systemctl start mysqld && systemctl enable mysqld

如何分析处理MySQL数据库无法启动

without updating PID 类似错误

查看日志:
在哪?
/data/mysql/data/主机名.err
[ERROR] 上下文
可能情况:
/etc/my.cnf 路径不对等
/tmp/mysql.sock文件修改过 或 删除过
数据目录权限不是mysql
参数改错了

#报错
Starting MySQL.2020-09-01T07:32:45.953856Z mysqld_safe error: log-error set to '/data/mysql/mysql.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/data/mysql/data/sonarqube.pid).

解决
touch /data/mysql/mysql.log
chown -R mysql.mysql /data/mysql/mysql.log

验证:netstat -anpt

7、管理员密码的设定(格式化时无临时密码)

[root@db01 ~]# mysqladmin -uroot -p password adminroot
Enter password: 													#此处直接回车

猜你喜欢

转载自blog.csdn.net/weixin_43357497/article/details/112298661