Linux使用官方编译好的二进制文件安装MySQL

350 阅读3分钟

参考:Linux 安装Mysql 详细教程(图文教程)_linux mysql安装教程-CSDN博客

首先去官网MySQL :: Download MySQL Community Server (Archived Versions)里面下载我们需要的包,Operating System 选择 Linux-Generic

然后然后先用rpm -qa | grep mysql查看之前有没有安装过mysql,有的话用rpm -e xxx删除。

然后解压缩下载的包:

tar -zxvf mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz

移动到/usr/local/目录下,并重命名为msyql

mv mysql-8.0.36-linux-glibc2.12-x86_64 /usr/local/mysql

然后进入msyql,创建data目录(这个目录是用来储存数据的)并赋予权限

cd /usr/local/mysql
mkdir data
sudo chmod -R 777 data

此时到这里我们可以直接用启动初始化mysql了,配置文件可以后面再创建,初始化时实际上配置文件有两个重要的参数,就是basedir和datadir,他们如果不在配置文件写的话,他们的默认值是:

basedir = /usr/local/mysql/          #MySQL程序路径 
datadir = /usr/local/mysql/data        #数据目录

因为我们直接将MySQL的安装包放到/usr/local/下了,而且在安装包下创建的data文件夹,所以可以直接初始化:

进入mysql的bin目录cd /usr/local/bin然后直接./mysqld --initialize,执行这个命令是要确保我们创建的data文件夹是空的,执行完后终端会打印一个密码,需要记下来用来登录mysql。然后就可以启动服务器了,先进入support-files这个文件夹cd /usr/local/mysql/support-files 执行./mysql.server start,看到成功启动后就可以使刚才的密码连接数据库了, 进入cd /usr/local/msyql/bin 然后运行./mysql -u root -p

登录后需要修改密码:

# 两种改密方法
alter user 'root'@'localhost' identified by '123456';
set password for root@localhost = '123456';

如果启动数据库那一步报错,可以看它的日志,在我们创建的data文件夹里面。后缀是 你的主机名.err 的文件,然后根据日志错误的提示去网上搜一下就能解决。

最后就可以在/eyc/my.cnf写自己的配置了,写好重启mysql就可以生效。

补充

这部分和运行mysql没什么关系,是一些定制化的配置,对/etc/my.cnf文件一些参数的说明:

[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err

[client]
socket=/tmp/mysql.sock

按我的理解:suoport-file/mysql.server读取的是[mysqld];./bin/mysql 读取的是[client]

  • basedir = /usr/local/mysql/          #MySQL程序路径
  • datadir = /usr/local/mysql/data        #数据目录
  • socket=/tmp/mysql.sock #socket必须mysqld和cilent指向同一个才不会报错!mysql.sock 文件是一个 Unix 域套接字(Unix Domain Socket)文件,它在 MySQL 客户端和服务器之间的本地通信中发挥着重要作用;如果客户端和服务器配置的 mysql.sock 文件位置不一致,也会导致连接失败。此时需要确保客户端和服务器配置文件中的 socket 参数值相同。

总结

最简单的安装mysql的步骤:

  1. 解压压缩包改名为mysql放到/usr/loca/
  2. 在解压的地方/usr/local/mysql/下面有mysql运行需要的东西,在里面新建data文件夹,存储数据
  3. 放行3306.。。。。这些用到的端口
  4. 执行mysqld --initialize运行初始化mysql ,可以使用下面的参数:1、它的--defaults-file=/etc/my.cnf 写的话放在第一位,指定配置文件的位置 否则会报错! ,2、--datadir=/${basedir}/data指定存储数据的位置 3、--basedir=/usr/local/msyql MySQL的安装位置。