安装环境:
数据库版本:
5.7.20
操作系统版本:
CentOS 7.9
安装步骤:
1. 下载并上传MySQL软件到/server/tools
1 2 | [root@DB_MySQL ~] # mkdir -p /server/tools [root@DB_MySQL ~] # cd /server/tools/ |
2. 解压MySQL软件,并将其移动到/application/mysql目录下
1 2 3 4 5 | [root@DB_MySQL tools] # ls mysql-5.7.20-linux-glibc2.12-x86_64. tar .gz [root@DB_MySQL tools] # tar -xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz [root@DB_MySQL tools] # mkdir -p /application/mysql [root@DB_MySQL tools] # mv mysql-5.7.20-linux-glibc2.12-x86_64/* /application/mysql/ |
3. 用户的创建,处理的原始环境
1 2 3 4 5 6 7 | [root@DB_MySQL mysql] # rpm -qa | grep mariadb mariadb-libs-5.5.68-1.el7.x86_64 [root@DB_MySQL mysql] # yum remove mariadb-libs-5.5.68-1.el7.x86_64 -y [root@DB_MySQL mysql] # rpm -qa | grep mariadb [root@DB_MySQL mysql] # useradd -s /sbin/nologin mysql [root@DB_MySQL mysql] # id mysql uid=1000(mysql) gid=1000(mysql) 组=1000(mysql) |
4. 设置环境变量
1 2 3 4 5 6 7 8 | [root@DB_MySQL mysql] # vim /etc/profile ...行末 export PATH= /application/mysql/bin :$PATH # 初始化配置文件 [root@DB_MySQL mysql] # source /etc/profile # 使用mysql -V命令测试环境变量是否设置成功,成功执行结果如下 [root@DB_MySQL mysql] # mysql -V mysql Ver 14.14 Distrib 5.7.20, for linux-glibc2.12 (x86_64) using EditLine wrapper |
5. 创建数据路径并挂载
5.1 添加一块新磁盘模拟数据盘
PS:
生产环境中,根据运维经验应该先进行磁盘的配置,在进行MySQL的软件按照工作。
5.2 格式化并挂载磁盘
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | [root@DB_MySQL ~] # fdisk -l # 格式化磁盘 [root@DB_MySQL ~] # mkfs.xfs /dev/sdb [root@DB_MySQL ~] # mkdir /data # 查看磁盘的UUID序列号,这里建议UUID挂载方式 [root@DB_MySQL ~] # blkid /dev/sdb : UUID= "b7d12ef9-69a1-4e9f-a677-d8650f61cbf8" TYPE= "xfs" # 将该UUID写入/etc/fstab文件中,永久挂载 [root@DB_MySQL ~] # vim /etc/fstab ...行末 UUID= "b7d12ef9-69a1-4e9f-a677-d8650f61cbf8" /data xfs defaults 0 0 # 挂载并查看是否成功 [root@DB_MySQL ~] # mount -a [root@DB_MySQL ~] # df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 979M 0 979M 0% /dev tmpfs 991M 0 991M 0% /dev/shm tmpfs 991M 9.5M 981M 1% /run tmpfs 991M 0 991M 0% /sys/fs/cgroup /dev/mapper/centos-root 50G 4.7G 46G 10% / /dev/mapper/centos-home 67G 33M 67G 1% /home /dev/sda1 1014M 138M 877M 14% /boot tmpfs 199M 0 199M 0% /run/user/0 /dev/sdb 20G 33M 20G 1% /data <--- 挂载到 /data/ 目录下成功 |
6. 授权
1 2 3 | [root@DB_MySQL tools] # mkdir /data/mysql/data -p [root@DB_MySQL tools] # chown -R mysql.mysql /application/* [root@DB_MySQL tools] # chown -R mysql.mysql /data/ |
7. 初始化数据
7.1 MySQL 5.6版本
1 | /application/mysql/scripts/mysql_install_db |
7.2 MySQL 5.7版本
7.2.1 生成随机密码初始化方式(不推荐使用)
1 2 3 | [root@DB_MySQL mysql] # mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data ... 2023-01-14T17:11:54.220022Z 1 [Note] A temporary password is generated for root@localhost: oL3w%jdyJm>C |
说明:
--initialize 参数:
- 对于密码复杂度进行定制:12位,4种
- 密码过期时间: 180
- 给root@localhost用户设置临时密码
7.2.2 无限制,无临时密码 --initialize-insecure
1 | [root@DB_MySQL mysql] # mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data |
8. 启动数据库
8.1 配置文件的准备
1 2 3 4 5 6 7 8 9 10 11 | [root@DB_MySQL mysql] # cat > /etc/my.cnf <<EOF [mysqld] user=mysql basedir= /application/mysql datadir= /data/mysql/data socket= /tmp/mysql .sock server_id=6 port=3306 [mysql] socket= /tmp/mysql .sock EOF |
8.2 启动方式
8.2.1 sys-v
1 2 3 4 5 6 | [root@DB_MySQL mysql] # cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld [root@DB_MySQL init.d] # /etc/init.d/mysqld start Starting MySQL.Logging to '/data/mysql/data/DB_MySQL.localdomain.err' . SUCCESS! [root@DB_MySQL init.d] # netstat -anptu | grep 3306 tcp6 0 0 :::3306 :::* LISTEN 1687 /mysqld |
8.2.2 systemd
注意:
sysv方式启动过的话,需要提前关闭,才能以下方式登录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | cat > /etc/systemd/system/mysqld .service <<EOF [Unit] Description=MySQL Server Documentation= man :mysqld(8) Documentation=http: //dev .mysql.com /doc/refman/en/using-systemd .html After=network.target After=syslog.target [Install] WantenBy=multi-user.target [Service] User=mysql Group=mysql ExecStart= /application/mysql/bin/mysqld --defaults- file = /etc/my .cnf LimitNOFILE = 5000 EOF |
执行完后,可以使用systemctl相关命令启动MySQL应用
1 2 | # 打印日志到屏幕启动 /application/mysql/bin/mysqld --defaults- file = /etc/my .cnf |
小结:
# 如何分析处理MySQL数据库无法启动
without updating PID 类似错误
查看/data/mysql/data 主机名.err
[ERROR] 上下文
可能情况:
/etc/my.cnf 路径不对等
/tmp/mysql.sock文件修改过或删除过
数据目录权限不是mysql
参数改错了
分类:
MySQL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App