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