概述

用于快捷安装MySQL5.7配置。

安装部署

mysql官网:https://downloads.mysql.com/archives/community/

安装环境
部署ip部署软件开放端口
192.168.199.10mysql-5.7.263306
服务依赖安装
yum install -y cmake make gcc gcc-c++ wget ncurses-devel cmake make perl ncurses-devel openssl-devel bison-devel libaio libaio-devel lrzsz
MySQL安装
tar -zxf mysql-5.7.26-linux-glibc2.12-x86_6ndad4.tar.gz
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql5.7
echo 'export  PATH=/usr/local/mysql5.7/bin:$PATH' >> /etc/profile
source /etc/profile
# 切换到普通用户
echo 'export  PATH=/usr/local/mysql5.7/bin:$PATH' >> ~/.bashrc
# root用户
echo 'export  PATH=/usr/local/mysql5.7/bin:$PATH' >> ~/.bashrc
userdel mysql
useradd -M -s /sbin/nologin  mysql
mkdir -pv  /data/{temp,log,data}
chown -R mysql:mysql /data
# 初始化数据库,并对目录进行重新授权,如果系统已经存在/etc/my.cnf文件,此步会执行失败,需要将此文件暂时移除后再进行初始化,初始化中的错误不用理会。
mysqld --initialize-insecure --datadir=/data/data --user=mysql
chown -R mysql:mysql /data

完成以上初始化后,检查/datadir/data/目录,是否生成数据库的相关必备的数据库,包括mysql、performance_schema、sys

基础配置
vim /etc/my.cnf

[mysqld]

basedir=/usr/local/mysql5.7 user=mysql port=3306 datadir=/data/data log-error=/data/log/err.log pid-file=/data/temp/mysqld.pid socket=/data/temp/mysqld.sock symbolic-links=0

[client]

socket=/data/temp/mysqld.sock default-character-set=utf8

配置启动脚本
vim /usr/lib/systemd/system/mysqld.service

[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
Type=forking
#按实际修改
PIDFile=/data/temp/mysqld.pid

chmod 644 /usr/lib/systemd/system/mysqld.service
开机自启动设置
# 加入开机启动
systemctl daemon-reload
systemctl enable mysqld
# 查看开机是否启动成功
systemctl is-enabled mysqld
# 启动服务
systemctl start mysqld
# 停止服务
systemctl stop mysqld
防火墙开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
setenforce 0
mysql密码修改及权限配置
# 创建普通用户并授权
    create user 'test'@'%' identified by 'test@2021';
    create user 'test'@'localhost' identified by 'test@2021';
    grant all on test.* to test@'%' identified by 'test@2021';
    grant all on test.* to test@'localhost' identified by 'test@2021';
    flush privileges;
# root用户授权
    grant all on *.* to root@'%' identified by '123456';
    grant all on *.* to root@'localhost' identified by '123456';
    flush privileges;

分类: Mysql