彻底卸载

sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
sudo apt autoclean

apt-get purge 与 apt-get remove是不同的,简单来说:

  • purge可以将包以及软件的配置文件全部删除
  • remove仅可以删除包,但不会删除配置文件

安装

可根据需要选择下面mysql常用包进行安装

sudo apt-get install mysql-server -y #mysql 服务端
#sudo apt install mysql-client  -y  #mysql 客户端
#sudo apt install libmysqlclient-dev -y #mysql 开发包

安装过程中如果没有报错信息,安装完成后,会自动启动mysql服务

检查mysql服务是否成功启动

方法有多种。常用如下:

sudo netstat -tap | grep mysql

如下图则启动成功

sudo service mysql status

ubantu下可以直接用service命令查看服务运行状态,类似如下

mysql服务启动

如果未启动,则运行启动命令

sudo service mysql start

遇到了警告 su:warning blah blah blah...

解决方法参考如下:

(MySQL 8, WSL 2) su: warning: cannot change directory to /nonexistent: No such file or directory · Issue #256 · miguelgrinberg/microblog · GitHub

sudo service mysql stop #先停止服务
sudo usermod -d /var/lib/mysql/ mysql #为 mysql 用户创建一个主目录
sudo service mysql start #然后再启动

成功启动

连接mysql

本地连接

前提是在本地安装mysql 客户端( sudo apt install mysql-client -y #mysql 客户端)

mysql -u用户 -p密码

通常情况

输入mysql -uroot -p 来登录root账号,不需要输入root密码。直接回车即可。

特殊情况

需要输入root密码的情况。但是,我们第一登录,并没有设置root用户的密码。

1、我们需要先找到默认的用户密码

sudo cat /etc/mysql/debian.cnf

2、用上面查到的默认的 user和 password 来登录

mysql -udebian-sys-maint -pRkqm8f6NHv1CYsrB

3、设置root密码

mysql>use mysql;
mysql>flush privileges;
mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
mysql>flush privileges;

如下设置root@localhost密码为root

远程连接

需要用户有远程访问权限

查看已有用户

 use mysql; #切换到mysqlselect user,host from user; #查看user列表

如下图例子:

通过命令可以看到当前只有一个用户root,并且Host为localhost,即只能本地访问权限

创建用户

查看用户列表

select  user, host,authentication_string, plugin from user;

创建:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

在实际应用中,我们应避免明文指定密码,可以通过 PASSWORD 关键字使用密码的哈希值设置密码。

如下:

#test1用户密码为test1
#可先通过sql语句查看test1串的哈希值的,然后再设置密码为这个哈希值
SELECT password('test1');
CREATE USER 'test1'@'主机名' IDENTIFIED BY 'test1的哈希值';

开启远程访问权限

方法一:直接改表

update user set host='%' where user='用户名';

顾名思义,该方法就是直接修改更改"mysql"数据库里的"user"表里的"host"项,从"localhost"改为"%"

方法二:授权账户

通过GRANT命令可以授予主机远程访问权限(GRANT的详细用法,不在这里讲)

GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

--赋予任何主机访问权限:%

GRANT ALL PRIVILEGES ON *.* TO '用户名'@'172.16.16.10' IDENTIFIED BY '密码' WITH GRANT OPTION;

--允许指定主机(IP地址)访问权限:具体ip 172.16.16.10

FLUSH PRIVILEGES;

--刷新权限表使上述更改生效

可能遇到的问题

在同一个网段,以上操作都没问题,但还是不能连接的情况,需要更改配置文件

1、打开 mysqld.cnf

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

2、找到bind-adderss = 127.0.0.1这行并注释掉。

bind-adderss = 127.0.0.1 改为如下:

#bind-adderss = 127.0.0.1

3、后重启mysql服务

sudo service mysql restart

注意

出于安全考虑,尤其是正式环境下

不推荐直接给root开启远程访问

建议做权限细分和限制

正式环境中,推荐通过创建mysql用户并给对应的用户赋权的形式来开放远程服务权限,并制定ip地址,赋权时根据用户需求,在GRANT命令中只开放select、update等权限,做到权限粒度最小化。

Ubuntu20.04彻底删除mysql,并重装mysql相关推荐

  1. mac 卸载 mysql su_UBUNTU 彻底删除 MYSQL 然后重装 MYSQL

    删除 mysql sudo apt-get autoremove --purge mysql-server-5.0 sudo apt-get remove mysql-server sudo apt- ...

  2. 安装Mac版Mysql卡在Installation阶段,彻底清理mysql并重装mysql

    背景 之前MacOS曾经安装过mysql,后来某些原因需要重装,发现安装总是卡在Installation阶段,如图 最后只能强退,试了很多次都这样.然后发现其实设置里头是有Mysql的设置的,如图 遂 ...

  3. 重装系统后,启动MySQL(不用重装mysql)

    重装系统后,启动MySQL 1.问题 2.尝试解决 参考资料 1.问题 重装系统后,发现MySQL无法启动,不管是在服务中还是在cmd中都启动不了. 2.尝试解决 .创建mysql服务: 开始–> ...

  4. ubuntu20.04 AMD显卡 不能调节屏幕亮度与外接显示器问题的解决

    1 问题描述        上周闲来无事升级了Ubuntu18.04系统到Ubuntu20.04,删除了旧版本的内核,之前的18.04也没有显卡驱动,是下载的开源的驱动安装包,升级之后老问题又出现了, ...

  5. 【学习mysql】ubuntu20.04下彻底删除mysql8.0

    ubuntu20.04下安装mysql8.0配置出错次数到吐血,却熟练了删除mysql的基本操作.记录一下 1.保证mysql进程停止 sudo service mysql stop 2.查看mysq ...

  6. Ubuntu20.04安装MySQL及配置MySQL workbench

    文章目录 前言 一.MySQL安装与配置 1. 安装MySQL 2. 配置MySQL 二.配置MySQL远程访问 三.安装配置MySQL workbench 1. 安装MySQL workbench ...

  7. Ubuntu20.04 阿里云服务器网站搭建 Apache2+PHP+MySQL

    Ubuntu20.04 阿里云服务器网站搭建 __02__MySQL 初步任务 MySQL_8.x安装与测试 第一步:下载MySQL的服务器版本 第二步:初始化配置 第三步:配置远程链接 (1)给ro ...

  8. 2054无法登陆mysql_张虹亮'blog » ubuntu20.04安装mysql8之后,php5程序和phpmyadmin出现#2054 无法登录MySQL服务器的解决方案...

    最近新装了ubuntu20.04版本,如果安装了php5,在安装mysql之后,使用phpmyadmin登陆,会出现2054 无法登录MySQL服务器 这个问题经过一晚上的折腾,终于找到了解决方案: ...

  9. Ubuntu 14.04重装mysql

    昨天晚上在Ubuntu上摆弄Mysql,由于不熟悉操作,在移动数据文件夹的那一步 设置出错导致Mysql无法启动,在企图恢复设置未果之后只好重装Mysql.在使用sudo apt-get autore ...

最新文章

  1. aws lambda使用, aws无服务器部署应用。 aws ecr凭证获取和使用。
  2. LoadRunner Controller集合点策略灰色问题 解决
  3. 不忘本~委托和事件(续)
  4. CodeForces - 1236D Alice and the Doll(贪心+二分+模拟)
  5. DirectFB的架构介绍
  6. Xcode12快捷键配置
  7. sunday java_Sunday算法:最快的字符串匹配算法
  8. Android插件化开发之动态加载技术系列索引
  9. 安装Node.js和npm
  10. Vijos P2010 回文日期【回文+日期计算】
  11. CentOS 7配置Docker Storage
  12. 封装程序报错Failed to execute script pyi_rth_multiprocessing解决办法
  13. 烽火通信 c语言 笔试,C语言嵌入式笔试题目及参考答案-烽火通信.doc
  14. (无显示器,无网线,无路由)使用笔记本实现ssh远程登录树莓派3b+,并登录远程桌面(附OpenCV安装教程推荐)
  15. java源程序编译型_Java语言的源程序不是编译型的,而是编译解释型的。( )
  16. 我选择了IT,我会用最大的热诚进军IT大技术!
  17. 11月赠书活动获奖读者
  18. jpa :配置一对多 Error accessing field 错误
  19. mac 下载软件无法将程序拖移至app 出现错误
  20. 考研英语近义词与反义词·二

热门文章

  1. JavaScript-内置对象
  2. 第2章第23节:文字对齐:借助分布功能实现倾斜对齐 [PowerPoint精美幻灯片实战教程]
  3. Windows10神州网信版的USB故障处理(设备描述符请求失败)
  4. OpenCV for .NET获取图片文字坐标
  5. aws python库_如何使用Python,AWS和IEX Cloud创建自动更新股市数据的Excel电子表格
  6. EA免费开放的智能交易
  7. Springboot整合redis实现缓存及其缓存运行原理浅析
  8. Layui-collapse折叠面板:点按钮后自动折叠问题解决
  9. 为什么需要进行app测试?
  10. 小程序源码:流量主头像组合微信小程序源码下载支持