作者主页: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
环节。
首先进入 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
。
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/
编辑 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
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';
此时,数据库已初始化完成。