由于国赛环境为无外网状态,所以Ubuntu系统内MySQL安装为离线安装,但由于安装方式繁多,且官方也从未指定安装方式,具2021年国赛与2022年国赛整理以及各省赛整理后,特制此文章。注:该文章主要以2021年山东省省赛安装方式进行讲解,期间会加上两届国赛的安装方式与注意事项,本人操作均在Win11操作系统上完成。
找到桌面Oracle VM VirtualBox,进入后正常情况下会已载入Ubuntu系统,若无系统正常情况下会在D盘内选手自行载入。
启动Ubuntu,若首次使用竞赛Ubuntu系统可能会出现报错,此时则需要进入设置界面,将连接方式更改为桥接网卡,方可正常进入
正常进入后,根据题目创建mysql文件夹
最好将该文件夹权限设置为全部人可完全操作,以免出现不必要麻烦
Ubuntu离线安装包密码1234
按照题目将MySQL安装包通过xftp进行传输,则此时找到安装包进行安装
因为xftp官方为了用户每隔一年安装最新版本,所以设置为时长超过一年的安装包安装结果为
此时无论如何点击确定,弹出来的依旧是“您已经在系统上安装了最新版本的Xftp 7”
若比赛时出现该情况,则仅需要将系统时间调前一年,则解除该报错
此时重新打开软件则可正常启动,输入自己的ip与用户密码
正常情况下会进入界面,但在2022年国赛环境下比赛时将22端口号关闭了,若无打开端口则无法正常链接!此时则需要进入Ubuntu系统,输入指令sudo ufw allow 22
此时将可以正常进入界面,再找到正确路径,点击传输
正常情况下会传输成功
此时回到Ubuntu查看是否传输成功
由于兼容性问题,文件名称带中文不会正常显示
以上方法为xftp传输方式,本人一般以Windows DOS界面进行远程传输,首先为了方便,将文件移入C盘
此时回到DOS界面,使用cd ..指令回退到C盘,此时输入指令
scp Ubuntu18.04离线安装mysql5.7.tar.gz [email protected]:/home/newland/mysql
此时回到Ubuntu系统查看是否传输正常
此时进入Ubuntu系统内解压该文件,输入指令tar -zxvf 文件名
注:2022年国赛为.zip结尾,需要输入指定unzip 文件名 解压
此时输入./install.sh指令
会发现有红色报错,根据报错内容可得该报错为进程加锁,此时只需要将加锁文件删除,此时找到dpkg文件夹,找到lock和lock-frontend文件,将这两个文件夹删除
在root下输入rm 文件命令删除
此时再次输入指令进行安装
注:2021年国赛为docker方式安装,在解压文件后,在docker.yml所属的文件夹内输入docker-compose up -d指令进行安装;2022年国赛时并没有install.sh文件,但是标明了安装顺序,可以直接在图形界面下进行依次安装,也可以输入dpkg -i 文件名 依次安装。
当安装完会出现以下提示
此时输入指令 sudo mysql -u root -p 可以正常进入mysql界面
首先创建一个名叫root的用户,@后面接限制的ip,%的意思为任何ip,identified的意思为确定身份,123456为确认身份的密码。大致意思就是创建一个限制所有ip的root用户,且确认身份的密码为123456
create user 'root'@‘%' identified by '123456';
此时再进行授予权限,大致意思就是授予root用户全部权限
刷新权限
此时进入Navicat软件进行测试连接
发现连接不上这个ip,此时就要回到Ubuntu系统修改配置文件
找到ip,将ip修改为0.0.0.0
先单击键盘‘i’或‘a’键进入输入模式修改为0.0.0.0后按Esc键解除后,输入‘:’输入wq即保存退出
此时重启MySQL
此时重新返回进行测试,即链接成功
若出现Authentication plugin 'caching_sha2_password' cannot be loaded则回到Ubuntu在mysql里输入ALTER USER'root'@'%' IDENTIFIED WITH mysql_native_password BY'123456';
若出现服务器远程连接的报错,即检查是否为3306端口未开启,在Ubuntu终端输入ufw allow 3306即可
以上便是本人的全部部署方式,如遇问题或者文章有错误可私信或者评论