安装MySQL 5.7导入数据,修改密码,创建账号并授权

1. 准备工作

sudo yum update -y

sudo yum install -y wget libaio numactl

2. 下载 MySQL 5.7 二进制包

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz

3. 创建 MySQL 用户和组

sudo groupadd mysql

sudo useradd -r -g mysql -s /bin/false mysql

4. 解压并安装 MySQL

sudo tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

sudo ln -s /usr/local/mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql

5. 创建数据目录并设置权限

sudo mkdir -p /var/lib/mysql

sudo chown -R mysql:mysql /var/lib/mysql

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

6. 初始化 MySQL

cd /usr/local/mysql

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqld

2025-05-28T02:52:48.238588Z 1 Note A temporary password is generated for root@localhost: (lqoeIokr3y=

7. 配置 MySQL 服务

vim /etc/my.cnf

mysqld

basedir=/usr/local/mysql

datadir=/data/mysql/data

socket=/data/mysql/data/mysql.sock

user=mysql

symbolic-links=0

mysqld_safe

log-error=/data/mysql/log/mysqld.log

pid-file=/data/mysql/run/mysqld.pid

include all files from the config directory

!includedir /etc/my.cnf.d

8. 创建 systemd 服务文件

sudo cp support-files/mysql.server /etc/init.d/mysqld

sudo chmod +x /etc/init.d/mysqld

创建 systemd 服务文件 /usr/lib/systemd/system/mysqld.service:

Unit

Description=MySQL Server

After=network.target

Service

User=mysql

Group=mysql

ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf

ExecStop=/usr/local/mysql/bin/mysqladmin shutdown

Restart=on-failure

RestartSec=5

Install

WantedBy=multi-user.target

9. 启动 MySQL 服务

sudo systemctl daemon-reload

sudo systemctl start mysqld

sudo systemctl enable mysqld

10. 设置环境变量

echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc

source ~/.bashrc

导入数据

方法1、mysql -u root -p < /data/bak/eblp.sql

方法2、进入使命行后

use db;

SOURCE /home/qitan/soft/mysql/dna.sql;

11. 安全设置和修改 root 密码

mysql -u root -p

然后修改 root 密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

ALTER USER 'root'@'localhost' IDENTIFIED BY 'dna@2025';

FLUSH PRIVILEGES;

12. 可选配置

如果需要远程访问:

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

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'dna@2025' WITH GRANT OPTION;

FLUSH PRIVILEGES;

验证安装

mysql --version

systemctl status mysqld

创建用户

CREATE USER 'user_eblp'@'%' IDENTIFIED BY '你的密码';

GRANT ALL PRIVILEGES ON eblp.* TO 'user_eblp'@'%';

FLUSH PRIVILEGES;

验证权限wh

sql

SHOW GRANTS FOR 'user_eblp'@'%';

相关推荐
百万蹄蹄向前冲1 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
华章酱1 小时前
MySQL幻读是怎么出现的
数据库·mysql·幻读
浅念-2 小时前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
aramae2 小时前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
这个DBA有点耶3 小时前
InnoDB索引组织表下,复合主键和自增主键的物理存储差异与选型对比
数据库·mysql·架构
李少兄4 小时前
数据库批量清理前置防御:如何严谨校验目标表是否存在
mysql
香吧香4 小时前
Docker Swarm 线上环境 MariaDB XA 悬停事务故障排查
mysql·异常
小白男神4 小时前
MySQL进阶学习三(视图)
后端·mysql
文人sec7 小时前
grant 之后要跟着 flush privileges 吗?要不要使用分区表?
数据库·mysql·adb·数据分析
高级程序源7 小时前
django招聘网站信息爬取与分析系统79704-计算机课程设计、毕业设计
后端·python·mysql·小程序·django·flask·课程设计