如何基于CentOS7部署MySQL 5.7?
本文基于root用户
一、关停防护墙
systemctl stop firewalld
systemctl disable firewalld
iptables -F
二、部署MySQL
cd /usr/local/
# 使用包管理器安装wget,CentOS7用yum,Debian用apt,Arch Linux用pacman,更多包管理器详见Google
yum install -y wget
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar
rpm -e --nodeps $(rpm -qa | grep mariadb)
# 此处需要一段时间
tar xf mysql-5.7.44-linux-glibc2.12-x86_64.tar \
&& tar xf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz \
&& rm -f mysql-5.7.44-linux-glibc2.12-x86_64.tar \
mysql-test-5.7.44-linux-glibc2.12-x86_64.tar.gz
# 目录重命名(规范)
mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql
# 创建一个 mysql 组和用户
groupadd mysql
useradd -r -g mysql mysql
cd /usr/local/
chown -R mysql:mysql mysql
chmod -R 775 mysql
# mysql/bin 目录下的全部命令创建“快捷方式”
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
# 生成mysql临时密码
cd /usr/local/mysql/
yum install -y libaio*
PASSWD=$(mysqld --user=mysql --initialize --datadir=/usr/local/mysql/data 2>&1 \
| grep root \
| awk '{print $NF}')
# 复制启动文件到/etc/init.d/目录
cp -ar /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# 创建mysql的配置文件my.cnf,并授予执行权限
touch /etc/my.cnf
chmod -R 775 /etc/my.cnf
三、启动MySQL
#启动mysql服务
/etc/init.d/mysqld start
# 添加服务为开机自启
chkconfig --add mysqld
chkconfig –list
# 此处直接回车即可
mysql -uroot -p"$(echo $PASSWD)"
四、配置MySQL
# 进入数据库后,执行如下语句,修改数据库root密码,并授权10网段主机远程登录权限
SET PASSWORD FOR root@localhost = PASSWORD('Stbjuoq$@127');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.%.%.%' IDENTIFIED BY 'spzc1234' WITH GRANT OPTION;
EXIT