1 二进制包安装介绍
二进制包是经过源码编译后,解压即可用的安装包。相比于rpm包和源码包,官方更推荐在生产环境中使用二进制包安装,因为相对于rpm包安装路径可控,且比源码包安装过程简单,功能性、性能和安全都有优势。
如果想快速搭建实验环境的,也可以使用rpm包进行部署,参考文章:https://www.modb.pro/db/1735710200849047552
2 安装过程
一、下载二进制包
下载路径:https://downloads.mysql.com/archives/community/
安装手册:https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html
下下来上传到/tmp中。
二、删除自带的配置文件
centos和redhat上一般已经安装有mariadb-libs包和/my.cnf配置文件,安装MySQL数据库前一定要删除,以免和新安装的MySQL造成冲突。
检查默认配置文件是否存在:
[root@mysql ~]# ll /etc/my.cnf
-rw-r--r--. 1 root root 570 Oct 1 2020 /etc/my.cnf
复制
再检查是否有MySQL或者MariaDB的安装包:
[root@mysql ~]# rpm -qa | grep -i mysql
[root@mysql ~]# rpm -qa | grep -i mariadb
mariadb-libs-5.5.68-1.el7.x86_64
复制
删除这些文件:
[root@mysql001 ~]# rpm -e mariadb-libs
[root@mysql001 ~]# ll /etc/my.cnf
ls: cannot access /etc/my.cnf: No such file or directory
复制
删除mariadb-libs后,/etc/my.cnf也会被一并删除。
注意:如果报依赖错误,使用下面的命令删除:
[root@mysql ~]# rpm -e mariadb-libs
error: Failed dependencies:
libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-9.el7.x86_64
libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-9.el7.x86_64
[root@mysql ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
[root@mysql ~]# rpm -qa | grep -i mariadb
复制
卸载mariadb-libs后,my.cnf也会被一并删除。
三、创建用户和组
[root@mysql ~]# groupadd mysql
[root@mysql ~]# useradd -g mysql mysql
[root@mysql ~]# passwd mysql
复制
四、解压二进制包
[root@mysql ~]# cd /usr/local
[root@mysql local]# tar xvf /tmp/mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz
[root@mysql local]# ln -s mysql-8.0.25-linux-glibc2.12-x86_64 mysql
复制
五、编辑配置文件
[root@mysql local]# vim /etc/my.cnf
复制
添加以下基础的配置文件:
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/3306/data
user=mysql
port=3306
socket=/data/mysql/3306/data/mysql.sock
log_error=/data/mysql/3306/data/mysqld.err
[client]
socket=/data/mysql/3306/data/mysql.sock
复制
六、创建数据目录
[root@mysql local]# mkdir -p /data/mysql/3306/data
[root@mysql data]# chown -R mysql.mysql /data
复制
七、添加环境变量
[root@mysql mysql]# vim /etc/profile
复制
在最后追加:
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$HOME/bin:$MYSQL_HOME/bin
复制
生效:
[root@mysql mysql]# source /etc/profile
复制
八、初始化实例
切换到mysql用户:
[root@mysql mysql]# su - mysql
复制
执行初始化:
[mysql@mysql ~]$ mysqld --defaults-file=/etc/my.cnf --initialize
复制
如果没有跳出报错信息,说明初始化成功。此时,在数据目录可以看到已经生成了相应的文件。
九、启动实例
[mysql@mysql ~]$ mysql_ssl_rsa_setup
[mysql@mysql bin]$ mysqld_safe --user=mysql &
[1] 6989
[mysql@mysql bin]$ 2024-01-21T17:50:13.640819Z mysqld_safe Logging to '/data/mysql/3306/data/mysqld.err'.
2024-01-21T17:50:13.719308Z mysqld_safe Starting mysqld daemon with databases from /data/mysql/3306/data
[mysql@mysql bin]$
[mysql@mysql bin]$ ps -ef | grep mysqld
root 6831 5394 0 01:47 pts/1 00:00:00 tailf mysqld.err
mysql 6989 5070 0 01:50 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --user=mysql
mysql 7144 6989 1 01:50 pts/0 00:00:02 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/data/mysql/3306/data/mysqld.err --pid-file=mysql.pid --socket=/data/mysql/3306/data/mysql.sock --port=3306
mysql 7303 5070 0 01:52 pts/0 00:00:00 grep --color=auto mysqld
复制
十、登录
查看临时密码:
[mysql@mysql bin]$ grep "temporary password" /data/mysql/3306/data/mysqld.err
2024-01-21T17:45:29.080672Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: H#Nva+9w(&tp
复制
登录,并修改密码:
[mysql@mysql bin]$ mysql -uroot -p'H#Nva+9w(&tp'
mysql> alter user user() identified by 'Mysql123.';
复制
最后修改时间:2024-01-23 01:38:00
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
文章被以下合辑收录
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1411次阅读
2025-03-13 11:40:53
MySQL8.0统计信息总结
闫建(Rock Yan)
535次阅读
2025-03-17 16:04:03
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
490次阅读
2025-03-13 14:38:19
SQL优化 - explain查看SQL执行计划(一)
金同学
420次阅读
2025-03-13 16:04:22
MySQL突然崩溃?教你用gdb解剖core文件,快速锁定“元凶”!
szrsu
413次阅读
2025-03-13 00:29:43
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
chengang
362次阅读
2025-03-17 10:36:40
MySQL数据库当前和历史事务分析
听见风的声音
337次阅读
2025-04-01 08:47:17
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
300次阅读
2025-03-28 16:28:31
墨天轮个人数说知识点合集
JiekeXu
292次阅读
2025-04-01 15:56:03
MySQL8.0直方图功能简介
Rock Yan
253次阅读
2025-03-21 15:30:53