linux CentOS7.8 安装 mysql 5.7.31
发布日期:2021-05-20 02:05:34 浏览次数:22 分类:精选文章

本文共 2991 字,大约阅读时间需要 9 分钟。

#安装并配置MySQL 5.7.31环境(兼顾常见issue处理)

安装并配置MySQL 5.7.31环境可以通过以下步骤完成,本文详细说明从压缩包解压到服务配置的全流程。

1. 解压MySQL压缩包

下载完成后,用以下命令解压并指定安装目录:

tar -zxf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

2. 重命名数据库目录

将解压包中的数据库目录重命名为mysql

cd /usr/local/
mv mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz mysql/

3. 创建数据目录及用户权限

创建数据目录/usr/local/mysql/data/,并创建MySQL用户及组:

mkdir /usr/local/mysql/data/
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql/

4. 设置MySQL目录及权限

为MySQL目录分配权限:

chown -R mysql:mysql /usr/local/mysql/

5. 初始化数据库

运行初始化数据库脚本:

./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

6. 配置MySQL服务(mysqld)

将MySQL服务初始化文件复制到启动目录,并设置开机自启:

cp -a ./support-files/mysql.server /etc/init.d/mysqld
# Edit attached files for service management:
vim /etc/init.d/mysqld

7. 配置my.cnf文件

根据实际需求编辑my.cnf配置文件,以下为参考配置:

vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
user=mysql
port=3306
character-set-server= utf8mb4
collation-server= utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
symbolic-links=0
max_connections=200
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=32M
explicit_defaults_for_timestamp=true
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

注:确保/var/log/mariadb/var/run/mariadb目录权限已更改为mysql:mysql

8. 启动MySQL服务

启动服务并验证是否正常运行:

service mysqld start

9. 处理常见问题

错误1:目录不存在或权限不足

mkdir -p /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/

错误2:找不到日志文件

mkdir -p /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql/

10. 重启服务(MySQL)

建议执行:

service mysqld restart

11. 查看初始密码

查阅/root/.mysql_secret文件获取初始密码:

cat /root/.mysql_secret

12. 修改初始密码

通过MySQL命令重置用户密码:

mysql -u root -p
SET PASSWORD FOR 'root'@localhost=PASSWORD('123456');

13. 环境变量配置

编辑/etc/profile文件并添加以下内容:

vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin

14. 设置MySQL开机自启

确保服务在重启时自启动:

chkconfig --add mysqld
chkconfig --list

15.远程连接设置

允许远程连接并重启服务:

grant all privileges on *.* to root@"%" identified by "123456!@#$";
grant all privileges on *.* to root@"localhost" identified by "123456!@#$";
flush privileges;
service mysqld restart

16.防火墙配置(如 CentOS 7)

关闭并禁用firewalld,同时允许必要端口:

systemctl stop firewalld
systemctl mask firewalld
# 允许本地接口
iptables -A INPUT -i lo -j ACCEPT
# 允许已建立或相关的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 允许本地出站
iptables -A OUTPUT -j ACCEPT
# 允许访问3306端口
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
# 添加其他必要端口规则
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 允许FTP端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
# 允许ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# 拦截未允许的访问
iptables -A INPUT -j REJECT

本文完整指导了MySQL 5.7.31环境的安装与配置流程,涵盖了从压缩包的解压到服务的配置及常见错误的处理,帮助您顺利完成数据库部署。

上一篇:RabbitMq和RocketMq技术选型对比
下一篇:TCP 详解

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月30日 07时02分57秒