资源下载
阿里云镜像地址:https://mirrors.aliyun.com/mysql/MySQL-5.7/
我这里使用的是 mysql-5.7.36-el7-x86_64.tar.gz

## 安装
提示:我这里是按照我的环境路径进行的配置,可以直接按照我的路径进行操作,也可根据自身情况修改
将下载的【mysql-5.7.36-el7-x86_64.tar.gz】文件上传到 /usr/local 目录下

MySQL 运行依赖一些基础系统库,使用以下命令安装必要的依赖包
sudo yum install -y libaio numactl为 MySQL 服务创建专用的用户和组
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql解压安装包
--strip-components=1 用于去掉解压后的顶级目录,直接把文件解压到 /usr/local/mysql 目录
sudo mkdir -p /usr/local/mysql
sudo tar -zxvf /usr/local/mysql-5.7.36-el7-x86_64.tar.gz -C /usr/local/mysql --strip-components=1创建数据存储目录
sudo mkdir -p /usr/local/mysql/data创建日志存储目录
sudo mkdir -p /usr/local/mysql/log将mysql目录赋权给刚刚创建的mysql用户
sudo chown -R mysql:mysql /usr/local/mysql初始化 MySQL,使用以下命令初始化 MySQL 数据目录,生成初始系统表和临时密码
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data初始化完成后,终端会输出一个临时密码,格式类似:
!!!务必记住这个临时密码,后续登录 MySQL 会用到
2025-03-01T12:34:56.789012Z 1 [Note] A temporary password is generated for root@localhost: .v9EsVMdN&as把 MySQL 的服务脚本复制到系统服务目录
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql```(可选)使用以下命令将 MySQL 服务设置为开机自动启动
sudo chkconfig --add mysql
sudo chkconfig mysql on启停 MySQL 服务
// 启动
sudo service mysql start
// 停止
sudo service mysql stop
// 重启
sudo service mysql restart
// 查询状态
sudo service mysql status使用临时密码登录,并修改密码
输入之前存储的临时密码,即可登录成功
/usr/local/mysql/bin/mysql -u root -p使用以下命令进行修改密码,我这里为了方便,设置密码为:123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';配置环境变量
sudo vi /etc/profile在文件末尾添加以下内容:
export PATH=$PATH:/usr/local/mysql/bin保存并退出文件,执行以下命令 使配置生效
source /etc/profile修改mysql配置文件,默认会生成/etc/my.cn 没有也没关系 可以通过以下命令编辑创建
sudo vi /etc/my.cnf我的配置如下,可以参考直接拷贝进去,也可以根据自身情况修改
[mysqld]
# 设置3306端口
port=3306
# # 设置mysql的安装目录
basedir=/usr/local/mysql
# # 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
# # 允许最大连接数
max_connections=10000
# # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# # 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# # 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# # 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
socket=/usr/local/mysql/mysql.sock
[mysql]
# # 设置mysql客户端默认字符集
default-character-set=utf8
# # 配置 0.0.0.0支持远程连接
bind-address=0.0.0.0
[client]
# # 设置mysql客户端连接服务端时默认使用的端口
port=3306
socket=/usr/local/mysql/mysql.sock
[mysqld_safe]
log_error=/usr/local/mysql/log/error.log
pid_file=/usr/local/mysql/mysql.pid重启MySQL 服务即可生效
开通 MySQL 远程连接
登录mysql
mysql -u root -p创建允许远程连接的用户,例如root用户
GRANT ALL PRIVILEGES ON . TO root@"%" IDENTIFIED BY "123456";退出mysql,检查/etc.my.cnf 配置
在 [mysqld] 部分找到 bind-address 参数,将其修改为 0.0.0.0,表示允许任何 IP 地址连接
重启 MySQL 服务生效
如遇到远程连接都配置无误,还是无法访问,检查服务器防火墙,云服务器检查安全组策略