Linux下载安装MySQL8的方式,并开放外网访问

作者主页Designer 小郑
作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云课认证讲师,全栈领域优质创作者。热爱技术、专注业务、开放合作、乐于分享,期待你我共同成长!
主打方向:Vue、SpringBoot、微信小程序

今天收到一位客户的需求:

我需要将系统部署到 Linux 中!

于是就开始了今天的摸索,写一篇博客记录一下。

一、登录 Linux

连接 Window Server 服务器,只需在 Windows 操作系统中使用 mstsc 命令即可进入,但 Linux 系统不可以,需要下载三方连接软件。

我采用的是 MobaXterm,MobaXterm 下载地址

下载后正常安装即可,安装完成后运行,如下图所示。

在这里插入图片描述

进入软件后,右键左侧的空白区域,新建一个连接,如下图所示。

在这里插入图片描述


新建完成后,选择 SSH 连接方式,依次输入 IP 地址、用户名,再点击 OK 按钮,如下图所示。

在这里插入图片描述

连接成功后,如下图所示。

提示:若您首次登录,进入时需要输入服务器密码。同学们复制粘贴,按回车即可。

在这里插入图片描述


二、MySQL 下载安装

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品,下载官网地址

2.1 MySQL 下载安装

进入 Linux 后,首先创建 MySQL 的安装文件夹,请依次输入以下命令。
进入 用户目录。

cd /usr/local

创建 MySQL 文件夹。

mkdir mysql

进入创建的 MySQL 文件夹。

cd mysql

下载并解压 MySQL 安装包。

wget wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.30-el7-x86_64.tar.gz
tar zxvf mysql-8.0.30-el7-x86_64.tar.gz

重命名文件夹为 mysql8

mv mysql-8.0.30-el7-x86_64 ./mysql8

创建 MySQL 数据存放文件夹 data

cd mysql8
mkdir data

截止目前, **mysql** 的安装目录结构如下图所示,请同学们比较核对。

在这里插入图片描述


2.2 MySQL 用户授权

MySQL 安装之后,需要注册初始用户,完成管理员授权

首先创建一个新用户,命令如下。

groupadd mysql
useradd -g mysql mysql

提示:两个 mysql 分别为用户组和用户名,同学们按照自己需要配置。

接着授权给刚刚创建的新用户,给与数据文件夹读写权限,命令如下。

chown -R mysql:mysql /usr/local/mysql/mysql8
chmod 750 /usr/local/mysql/mysql8/data -R

2.3 配置 MySQL 环境

首先编辑 profile 文件,命令如下。

vim /etc/profile

提示:进入 profile 文件后,按下键盘的 i 键,意思是开始输入,如下图所示。

在这里插入图片描述

在文件的最后一行增加如下命令

export PATH=$PATH:/usr/local/mysql/mysql8/bin:/usr/local/mysql/mysql8/lib

提示:添加完成后,按下 ESC 键,后依次输入 :wq,如下图所示,意思是保存并且退出(exit)。

在这里插入图片描述


2.4 初始化 MySQL

环境配置完成后,就进入初始化 MySQL 环节。

首先进入 MySQLbin 目录,目录如下。

cd bin
./mysqld --user=root --basedir=/usr/local/mysql/mysql8 --datadir=/usr/local/mysql/mysql8/data/ --initialize

初始化完成后,系统会给出初始密码 6Ju+BGsta/dJ,如下图所示。

在这里插入图片描述

提示:初始化之前需要清空 data 文件夹,命令为 rm -rf data

2.5 MySQL 目录赋权

在操作系统中,最重要的就是操作权限了,如果没有权限,很多事情都做不了。

MySQL 的目录下,有一个 support-files 文件夹。

在这里插入图片描述
里面存放着 MySQL 服务,如下图所示。

在这里插入图片描述
同学们需要将目录复制到 etc 目录中,并赋予权限,命令如下。

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

chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld

mkdir /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql/ 
chown -R mysql:mysql /tmp/

编辑 MySQLetc 配置文件。

sudo vim my.cnf

配置内容如下。

[client]  
default-character-set=utf8  
#password   = your_password  
port= 3306 
socket= /tmp/mysql.sock  
 
[mysqld]  
basedir=/usr/local/mysql/mysql8
datadir=/usr/local/mysql/mysql8/data
default-storage-engine=INNODB  
character-set-server=utf8  
collation-server=utf8_general_ci  
port= 3306 
socket= /tmp/mysql.sock  
skip-external-locking  
key_buffer_size = 16K  
max_allowed_packet = 1M  
table_open_cache = 4 
sort_buffer_size = 64K  
read_buffer_size = 256K  
read_rnd_buffer_size = 256K  
net_buffer_length = 2K  
thread_stack = 128K  
server-id   = 1 

[mysqldump]  
quick  
max_allowed_packet = 16M  

[mysql]  
no-auto-rehash  

[myisamchk]  
key_buffer_size = 8M  
sort_buffer_size = 8M  

[mysqlhotcopy]  
interactive-timeout 

2.6 启动 MySQL

启动 MySQL 的命令如下。

service mysqld start

启动成功后如下图所示。

在这里插入图片描述

如果启动失败,首先检查 3306 端口是否占用。

2.7 取消权限验证,删除初始密码

MySQL 启动成功后,接下来就是修改默认密码了。

同学们如果可以用初始密码完成登录,则可以跳过 2.7 和 2.8 步骤。

打开 /etc 目录下的 my.cnf 配置文件,在 [mysqld] 下面加上 skip-grant-tables,命令如下。

cd /etc
vim my.cnf

在这里插入图片描述

接着重启 MySQL 服务,目录如下。

/etc/init.d/mysqld restart

接着进入离线版 MySQL

cd /usr/local/mysql/mysql8/bin
./mysql

进入 MySQL 后,首先切换数据库为 mysql

USE mysql ;
update user set authentication_string = '',Host = '%' where user = 'root';
flush privileges;
exit;

请注意 MySQL 8.0 的密码字段为 authentication_string,而不是 password!


2.8 还原权限验证,设置密码

在 2.7 步骤中,已将 root 账户的密码置空,接着就可以用空密码登录

进入配置文件目录,打开配置文件,还原权限验证,命令如下。

cd /etc
vim my.cnf

在这里插入图片描述
保存后再次启动 MySQL 服务。

/etc/init.d/mysqld restart

在这里插入图片描述

进入 MySQL,命令如下。

mysql -u root -p

在这里插入图片描述

首先查询当前存在的用户,命令如下。

select user,host from user;

在这里插入图片描述

接着修改密码,命令格式如下。

alter user '用户名'@'hostname' identified by 'newpwd';

如要将密码改成 123456,命令如下。

alter user '用户名'@'%' identified by '123456';

此时,数据库已初始化完成。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41464123/article/details/128850002
今日推荐