编程技术分享平台

网站首页 > 技术教程 正文

【终于成功了】Centos7安装mysql-5.7.38

xnh888 2025-07-15 01:43:38 技术教程 3 ℃ 0 评论

之前用centos8安装mysql-8,rocky10安装mysql都失败了,因为版本问题,最后mysql都没法执行

见上文:

【入门】【失败】Linux下
mysql-8.0.22-linux-x64.tar.gz 安装

【入门】rocky10上安装mysql

这次换低版本学习和测试验证

相关说明

安装文件:mysql-5.7.38-linux-x64.tar.gz
mysql安装目录:/usr/local/mysql
mysql上传临时目录:/tmp/down/

一、拷贝文件到Linux服务器

#windows下拷贝文件到Linux服务器
scp E:\\appFiles\\vmware\\soft\\mysql\\mysql-5.7.38-linux-x64.tar.gz fuzhx@192.168.203.133:/tmp/down/

  


二、创建存放目录和解压

#创建目录
sudo mkdir -p /usr/local/mysql
#解压
sudo tar -zxvf mysql-5.7.38-linux-x64.tar.gz
#移动文件到mysql目录
sudo mv mysql-5.7.38-linux-x64/* /usr/local/mysql



三、创建 MySQL 用户和组

# 创建mysql用户组和用户
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

# 设置目录权限
sudo chown -R mysql:mysql /usr/local/mysql


四、创建数据目录并初始化

# 创建数据目录
sudo mkdir -p /data/mysql
sudo chown -R mysql:mysql /data/mysql

# 进入mysql的目录
cd /usr/local/mysql

# 初始化MySQL(生成初始密码)
sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

# 记录初始化生成的临时密码(重要!后续登录需要)
grep 'temporary password' /data/mysql/error.log


执行bin/mysqld --initialize后,控制台输出有mysql的临时root密码:pjh#n2ACpqu<

2025-06-28T02:04:07.619057Z 1 [Note] A temporary password is generated for root@localhost: pjh#n2ACpqu<

五、配置 MySQL 服务

# 创建my.cnf配置文件
sudo vi /etc/my.cnf

# 添加以下内容(根据需求调整)
[mysqld]
basedir = /usr/local/mysql
datadir = /data/mysql
socket = /tmp/mysql.sock
port = 3306
character-set-server = utf8mb4
default-storage-engine = InnoDB
innodb_buffer_pool_size = 512M
skip-name-resolve = 1

[client]
socket = /tmp/mysql.sock
default-character-set = utf8mb4

vim后,原先内容我都注释掉,改用上面的配置


六、启动 MySQL 服务

# 复制服务脚本
sudo cp support-files/mysql.server /etc/init.d/mysqld
sudo chmod +x /etc/init.d/mysqld

# 设置开机自启
sudo chkconfig --add mysqld
sudo chkconfig mysqld on

# 启动MySQL
sudo service mysqld start

# 验证服务状态
sudo service mysqld status


七、配置环境变量

# 编辑bashrc文件
echo 'export PATH=$PATH:/usr/local/mysql/bin' | sudo tee -a /etc/profile

# 使配置生效
source /etc/profile

/etc/profile原先的内容


执行脚本echo 'export PATH=$PATH:/usr/local/mysql/bin' | sudo tee -a /etc/profile配置完毕后的内容



八、安全初始化

mysql这个命令,我之前在centos8安装时候,老是失败执行不了,这次是关键点了

# 使用临时密码登录
mysql -u root -p

# 修改root密码(替换为强密码)
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword123!';
ALTER USER 'root'@'localhost' IDENTIFIED BY 'db.13579';

# 删除匿名用户(可选)
DELETE FROM mysql.user WHERE User='';

# 禁止root远程登录(可选)
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');

# 删除测试数据库(可选)
DROP DATABASE IF EXISTS test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';

# 刷新权限
FLUSH PRIVILEGES;

mysql访问成功了:

修改密码和刷新权限:

九、windows电脑终端测试一下访问

telnet 192.168.203.133 3306

访问失败,需要考虑开启Linux防火墙(安全可选)

十、配置防火墙(可选)

# 开放MySQL端口
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload


十一、验证安装

# 检查MySQL版本
mysql --version

# 使用新密码登录
mysql -u root -p


十二、windows侧登录验证

mysql -h 192.168.203.133 -u root -p


报错:

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -h 192.168.203.133 -u root -p
Enter password: ********
ERROR 1130 (HY000): Host '192.168.203.1' is not allowed to connect to this MySQL server

需要mysql授权连接

十三、在 MySQL 服务器上授权远程访问

方式一:授权指定 IP 访问

如果你确认客户端 IP 是 192.168.203.1,则在 MySQL 服务器上执行:

-- 使用 root 用户登录 MySQL
mysql -u root -p

-- 授权 root 用户从 192.168.203.133 访问,并设置密码
#GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.203.1' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.203.1' IDENTIFIED BY 'db.13579' WITH GRANT OPTION;

-- 刷新权限表
FLUSH PRIVILEGES;




方式二:授权所有 IP 访问(不推荐,仅用于测试)

若需允许任意 IP 访问(存在安全风险):

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;

windows的cmd下再次验证:


安装终于成功了

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表