Skip to content

Linux上安装Mysql8

原创📝 chandler📆 2024-08-28 09:39

下载地址

官网地址:https://dev.mysql.com/downloads/mysql/

img.png

这里我就不重新下载了

包名:mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz

开始安装

注意:安装请使用mysql用户进行安装

上传包至要安装的目录

安装位置可以自定义,本教程是放在 /home/component 目录下

img.png

解压安装包

shell
# 进入文件目录
cd /home/component

# 解压
tar -xf mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz

img.png

文件夹重命名为mysql8,移动位置并重新命名

shell
mv mysql-8.2.0-linux-glibc2.28-x86_64 mysql8

img.png

创建mysql用户组和用户并修改权限

shell
# 创建一个新的用户组,名为“mysql”
groupadd mysql

# 创建一个新的用户,也名为“mysql”
useradd -r -g mysql mysql

创建数据存放目录

shell
# 进入目录
cd /home/component/mysql8

img.png

再该目录下继续操作

shell
# 创建文件夹
mkdir data

配置my.cnf文件

/etc 文件夹下新增 my.cnf 文件,如果有的话就直接修改,没有就新增

my.cnf配置文件内容如下:

text
[mysqld]
user=mysql
port=3306
basedir=/home/component/mysql8
datadir=/home/component/mysql8/data
socket=/tmp/mysql.sock
# 设置mysql数据库的日志及进程数据的存放目录
log-error=/home/component/mysql8/mysqld-error.log
pid-file=/home/component/mysql8/mysqld.pid
max_connections=200
max_connect_errors=10
character-set-server=utf8mb4
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
group_concat_max_len=102400

添加完保存之后

授权用户权限

shell
chown -R mysql.mysql /home/component/mysql8

修改后的权限目录文件如图

img.png

编译安装

进入到bin目录

shell
cd /home/component/mysql8/bin

初始化基础信息

--defaults-file:建议使用 /etc/my.cnf

因为MySQL启动会从这个目录优先查找

shell
./mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/home/component/mysql8/ --datadir=/home/component/mysql8/data/ --pid-file=/home/component/mysql8/mysqld.pid --initialize

img.png

我们找到我们的日志文件,然后查看密码

img.png

shell
vi /home/component/mysql8/mysqld-error.log

img.png

记住这个密码,等下需要使用

启动

进入到 /home/component/mysql8/support-files 目录

shell
# 进入到启动脚本命令
cd /home/component/mysql8/support-files

# 启动
./mysql.server start

img.png

这样就是启动成功了

验证

命令查看运行状态

shell
ps -ef | grep mysql

img.png

登录

使用临时密码登录

shell
# 进入操作目录
cd /home/component/mysql8/bin

# 登录
./mysql -u root -p

img.png

回车之后输入临时密码(就是日志文件中自动生成的那个)

修改密码

shell
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

刷新权限

shell
flush privileges;

允许远程登录

shell
use mysql;

update user set Host='%' where User='root';

刷新权限

shell
flush privileges;

修改my.cnf文件

我没有加上这个也可以支持远程

text
[mysqld]
bind-address = 0.0.0.0

常用命令

以下命令都是在 /home/component/mysql8/support-files 目录下执行

启动

shell
./mysql.server start

查看状态

shell
./mysql.server status