作者主页:Designer 小郑
作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云课认证讲师,全栈领域优质创作者。热爱技术、专注业务、开放合作、乐于分享,期待你我共同成长!
主打方向:Vue、SpringBoot、微信小程序
今天收到一位客户的需求:
我需要将系统部署到 Linux 中!
于是就开始了今天的摸索,写一篇博客记录一下。
连接 Window Server 服务器,只需在 Windows 操作系统中使用 mstsc 命令即可进入,但 Linux 系统不可以,需要下载三方连接软件。
我采用的是 MobaXterm,MobaXterm 下载地址。
下载后正常安装即可,安装完成后运行,如下图所示。

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

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

连接成功后,如下图所示。
提示:若您首次登录,进入时需要输入服务器密码。同学们复制粘贴,按回车即可。

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品,下载官网地址。
进入 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** 的安装目录结构如下图所示,请同学们比较核对。

MySQL 安装之后,需要注册初始用户,完成管理员授权。
首先创建一个新用户,命令如下。
groupadd mysql
useradd -g mysql mysql
提示:两个 mysql 分别为用户组和用户名,同学们按照自己需要配置。
接着授权给刚刚创建的新用户,给与数据文件夹读写权限,命令如下。
chown -R mysql:mysql /usr/local/mysql/mysql8
chmod 750 /usr/local/mysql/mysql8/data -R
首先编辑 profile 文件,命令如下。
vim /etc/profile
提示:进入 profile 文件后,按下键盘的
i键,意思是开始输入,如下图所示。

在文件的最后一行增加如下命令。
export PATH=$PATH:/usr/local/mysql/mysql8/bin:/usr/local/mysql/mysql8/lib
提示:添加完成后,按下
ESC键,后依次输入:wq,如下图所示,意思是保存并且退出(exit)。

环境配置完成后,就进入初始化 MySQL 环节。
首先进入 MySQL 的 bin 目录,目录如下。
cd bin
./mysqld --user=root --basedir=/usr/local/mysql/mysql8 --datadir=/usr/local/mysql/mysql8/data/ --initialize
初始化完成后,系统会给出初始密码 6Ju+BGsta/dJ,如下图所示。

提示:初始化之前需要清空 data 文件夹,命令为
rm -rf data。
在操作系统中,最重要的就是操作权限了,如果没有权限,很多事情都做不了。
在 MySQL 的目录下,有一个 support-files 文件夹。

里面存放着 MySQL 服务,如下图所示。

同学们需要将目录复制到 etc 目录中,并赋予权限,命令如下。
cp -a ./support-files/mysql.server /etc/init.d/mysql
cp -a ./support-files/mysql.server /etc/init.d/mysqldchown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqldmkdir /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql/
chown -R mysql:mysql /tmp/
编辑 MySQL 的 etc 配置文件。
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
启动 MySQL 的命令如下。
service mysqld start
启动成功后如下图所示。

如果启动失败,首先检查 3306 端口是否占用。
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.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';
此时,数据库已初始化完成。
