ubuntu MySQL安装使用教程

前言

笔者需要多个版本的MySQL方便验证一些问题,推动旧版的MySQL客户端升级,所以在虚拟机里面安装Ubuntu,然后在Ubuntu安装MySQL旧版本,笔者本机安装MySQL新版。没想到到处趟坑😅。以Ubuntu20版本为例。

1. 安装过程的坑

安装新版倒还好,直接apt-get即可,但是安装旧版,需要Oracle官网下载DEB安装包

本身是一个tar包,没有压缩,校验md5,一致,排除下载问题

执行tar -xvf mysql-xxx.tar -C xxx即可解压缩 ,但是?一大坨,为啥不能一键安装,狂抓😖

 其中箭头的3个,看名称是测试用的,可以不安装

安装的原理是先安装mysql-common libmysql 然后安装mysql-community-server,最后安装mysql-server

#准备安装
sudo dpkg -i mysql-common_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i libmysqlclient20_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i libmysqlclient-dev_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i libmysqld-dev_5.7.34-1ubuntu18.04_amd64.deb

#安装client,mysql-community-server depends on mysql-client;mysql-client depends on mysql-community-client,so一个个来吧
sudo dpkg -i mysql-community-client_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-client_5.7.34-1ubuntu18.04_amd64.deb

#安装Server
#需要输入root密码
sudo dpkg-preconfigure mysql-community-server_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-community-server_5.7.34-1ubuntu18.04_amd64.deb

sudo dpkg -i mysql-server_5.7.34-1ubuntu18.04_amd64.deb 

至此mysql安装完成,验证看看mysql -u root -p,可以使用了😄

 

 2. mysql只能localhost访问

Host is not allowed to connect to this MySQL server,原因是mysql严防死守

use mysql

 select host,user from user;

 只能localhost,😖,update user set host = '%' where user = 'root';

但是还是连不上啊,为啥啊,/etc/mysql/mysql.conf.d/mysqld.cnf文件😄

注释掉或者改为0.0.0.0表示所有连接 ,改完重启mysql: sudo service mysql restart 

telnet OK

3. 防火墙

其实笔者是再次安装,以前出现过防火墙的问题的,只是笔者关闭了,Telnet不同可能是防火墙限制

不活跃,安装并未启用防火墙,一般会默认安装防火墙,尤其是生产环境,安装指令:sudo sudo apt-get install ufw

sudo ufw enable/disable 开关防火墙

sudo ufw reload 重启防火墙

开启防火墙后,Telnet挂了

开端口吧,😄

ufw默认是 default deny ,表示只能本机localhost访问

开放端口:sudo ufw allow 3306 /  关闭端口:sudo ufw delete allow 3306

开启后瞬间,Telnet OK,😄

可以指定协议,比如mysql tcp : sudo ufw allow 3306/tcp

针对某个IP开通端口: sudo ufw allow from 10.220.189.176 / sudo ufw delete allow from 10.220.189.176

针对某个IP开通3306端口:sudo ufw allow from 10.220.189.176 to any port 3306 / sudo ufw delete allow from 10.220.189.176 to any port 3306 

 引用至:(8条消息) Ubuntu系统中防火墙的使用和开放端口_Aaron_Run的博客-CSDN博客_ubuntu防火墙开放端口,这位大佬的文章

查看端口:sudo netstat -tunlp | grep 3306

 

 

4. 网络

网络是虚拟机或者容器网络方案,主要的方式有3种:NAT、桥接、host only

NAT :使用虚拟网卡方式,不能被外部的机器识别,需要转发端口才能被访问

桥接:虚拟机桥接到网卡,可以认为是一台独立的主机

host only:本机

建议桥接,局域网都可以访问,不用端口转发映射,以Parallels Desktop为例

笔者是WIFI网络,这里的共享网络即VM虚拟机的NAT模式 

总结

 安装一个普通的mysql,居然这么多拦路虎,新手直接劝退😅,当然可以一键安装,但是只能安装最新版,那么卸载呢

sudo apt-get remove mysql-common  #卸载common,关联的就可以卸载了

清理残余:dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值