暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux二进制安装mysql数据库

原创 lu9up 2024-01-23
175

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

image.png

下下来上传到/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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论