Linux部署MySQL8.0—手把手保姆级教程

左小轩 2024-09-12 16:07:02 阅读 59

一、下载MySQL8.0安装包

MySQL官网 下载地址 下载之前可以查看一下系统的位数,下面有指令

 

查看系统的位数(32位或64位)

<code>getconf LONG_BIT

 

我这里是64位的,所以这里我就下载64位, 可以在官网下载后上传上去,我这里就直接使用服务器下载了

<code>sudo wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz

 

二、安装MySQL8.0

2.1 解压安装包

<code>sudo tar xvJf mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz

 

2.2 修改文件名称

<code>sudo mv mysql-8.0.36-linux-glibc2.28-x86_64 mysql-8.0.36

2.3 创建相关文件夹

进入到mysql-8.0.36文件夹中

sudo mkdir data # 数据存储

sudo mkdir log # 日志存储

sudo mkdir tmp # 临时文件

2.4 新增用户组

sudo groupadd mysql

2.5 新增组用户

sudo useradd -g mysql mysql

2.6 用户授权 指向mysql8.0安装目录

sudo chown -R mysql.mysql /usr/local/mysql8.0/mysql-8.0.36

# 这里用自己实际的安装目录即可 可以通过 pwd 指令查看当前目录路径

 

三、初始化数据库

<code>再安装目录下执行

sudo ./bin/mysqld --user=mysql --basedir=/usr/local/mysql8.0/mysql-8.0.36/ --datadir=/usr/local/mysql8.0/mysql-8.0.36/data/ --initialize ;

 

执行后 : 红色框框中的为 初始密码,这个需要记住

四、编写配置文件

<code>vi /etc/my.cnf

# 正常情况下是没有这个文件的,执行保存之后会自动创建

 配置文件内容如下(文件路径记得改为自己的)

[mysql]

default-character-set=utf8mb4

[client]

port=13306

socket=/mnt/data01/chargestation/mysql-8.0.39/tmp/mysql.sock

[mysqld]

port=13306

socket=/mnt/data01/chargestation/mysql-8.0.39/tmp/mysql.sock

basedir=/mnt/data01/chargestation/mysql-8.0.39

datadir=/mnt/data01/chargestation/mysql-8.0.39/data

log-error=/mnt/data01/chargestation/mysql-8.0.39/log/mysql.log

pid-file=/mnt/data01/chargestation/mysql-8.0.39/tmp/mysql.pid

lower_case_table_names=1

bind-address=0.0.0.0

character_set_server=UTF8MB4

init_connect='SET NAMES utf8'code>

 

五、初始化mysql服务

sudo cp -a ./support-files/mysql.server /etc/init.d/mysql

sudo chmod +x /etc/init.d/mysql

sudo chkconfig --add mysql

指令作用如下

cp -a ./support-files/mysql.server /etc/init.d/mysql:这条指令用于将MySQL服务器的启动脚本mysql.server从MySQL安装目录下的./support-files文件夹复制到系统的服务管理目录/etc/init.d,以便可以使用系统服务管理工具来控制MySQL服务。chmod +x /etc/init.d/mysql:这条指令用于给复制到/etc/init.d目录下的mysql脚本文件添加执行权限,确保它能够被系统调用执行启动、停止等操作。chkconfig --add mysql:这条指令用于将MySQL服务添加到系统服务的管理系统中,chkconfig是Red Hat系列Linux系统(如CentOS、RHEL)中用于管理服务的命令,--add选项表示添加一个新的服务。执行后,MySQL服务将能够通过service命令或systemctl(在使用systemd的系统上)进行启动、停止和重启。

检测一下是否成功

chkconfig --list mysql

 

如图所示表示成功

六、启动运行MySQL服务

6.1 启动服务

<code>sudo service mysql start

这里启动后有出现错误信息

 

提示文件不存在之类的

<code>sudo mkdir -p /usr/local/mysql8.0/mysql-8.0.36/log/

sudo chown mysql:mysql /usr/local/mysql8.0/mysql-8.0.36/log/

sudo chmod 777 /usr/local/mysql8.0/mysql-8.0.36/log/

sudo chown mysql:mysql /usr/local/mysql8.0/mysql-8.0.36/data/

sudo chmod 777 /usr/local/mysql8.0/mysql-8.0.36/data/

sudo chown mysql:mysql /usr/local/mysql8.0/mysql-8.0.36/tmp/

sudo chmod 777 /usr/local/mysql8.0/mysql-8.0.36/tmp/

执行以上命令 ,没有的文件就创建并且赋予权限,有的就直接赋予权限。

如果说还不行,则使用最简单粗暴的方法

sudo chown -R mysql:mysql /usr/local/mysql8.0/mysql-8.0.36/

sudo chmod 777 -R /usr/local/mysql8.0/mysql-8.0.36/

使用递归的形式将 安装目录下的所有文件以及文件夹都开放所有权限

设置完成后重新执行启动指令

 

这时显示ok即可,也可以使用 service mysql status; 指令查询一下当前mysql的状态

6.2 修改MySQL密码

<code>进入到安装目录下的bin目录

/usr/local/mysql8.0/mysql-8.0.36/bin

登陆mysql

./mysql -uroot -p

输入初始化时候的临时密码

登陆成功后执行

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

 

6.3 开启远程访问

在登陆MySQL环境下分别执行一下指令

<code>CREATE USER 'root'@'%' IDENTIFIED BY '密码';

GRANT ALL ON *.* TO 'root'@'%';

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

FLUSH PRIVILEGES;

 

6.4 开启防火墙端口

分别执行一下两条指令即可

<code>sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent

sudo firewall-cmd --reload

注意:如果是云服务器,还需要再安全组开通对应的端口。

6.5 使用工具远程连接



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。