Ubuntu20.04安装/配置/彻底删除mysql

Ubuntu20.04安装\配置\彻底删除mysql

一、安装MySql(通过apt 安装MySQL服务)

sudo apt 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

如下图则启动成功
1717151576258.png
ubantu下也可以直接用service命令查看服务运行状态

sudo service mysql status

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

sudo service mysql start

如果遇到了警告 su:warning blah blah blah…
解决方案:

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

如遇到这种错误
1717151742476.png

当前问题,理论上是尝试重装mysql过程中的错误提示,如果是其他操作的错误提示,先尝试mysql的卸载和重装

sudo apt remove mysql-server mysql-common mysql-client
 
sudo apt install mysql-server mysql-common mysql-client

​ 如果尝试重装仍输出上述错误,执行下列命令:

sudo apt autoremove mysql* --purge
 
sudo apt remove apparmor
 
//再执行安装命令
 
sudo apt install mysql-server mysql-common mysql-client -y

二、配置和使用mysql

2.1本地连接

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

1.第一次登录的第一种形式

通常情况下使用

mysql -u 用户 -p 密码 

但是我们在安装的过程中没有设置用户名和密码,需要使用系统默认的用户名和密码

sudo cat /etc/mysql/debian.cnf

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

mysql -u debian-sys-maint -p ZqbStJQB9HogftxM

然后输入对应的密码即可。
1717151894652.png
如果登录的时候遇到这个问题
1717151853475.png

则用以下方式登录

mysql -udebian-sys-maint -h 127.0.0.1 -p

1717151983204.png

如果上述方法仍未解决,那么就需要新建/etc/my.cnf文件

sudo gedit /etc/my.cnf

文件内容如下

[mysqld]
datadir=/var/lib/mysql
basedir=/usr
socket=/var/run/mysqld/mysqld.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
port=3306
socket=/var/run/mysqld/mysqld.sock

1717151943347.png

2.第一次登录的第二种形式

当然第一次也可以不用mysql -u 用户名 -p 密码的形式

可以用sudo mysql的形式登录

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.19-0ubuntu5 (Ubuntu)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

3.第一次登录的第三种形式

当然第一次登录也可以运行sudo mysql_secure_installation来设置密码

MySQL安装随附一个名为的脚本mysql_secure_installation,可让您轻松提高数据库服务器的安全性。

系统将要求您配置VALIDATE PASSWORD PLUGIN用来测试MySQL用户密码强度并提高安全性的密码:

Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: y

密码验证策略分为三个级别:低,中和强。按下y如果你想设置的验证密码插件或任何其他键移动到下一个步骤:

There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

在下一个提示符下,将要求您设置MySQL root用户的密码:

Please set the password for root here.
New password: 
Re-enter new password: 

如果您设置了验证密码插件,该脚本将向您显示新密码的强度。键入y以确认密码:

Estimated strength of the password: 50 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y

接下来,将要求您删除匿名用户,限制root用户对本地计算机的访问,删除测试数据库并重新加载特权表。您应该回答y所有问题

2.2 配置远程访问

1.创建用户

如果需要远程登陆:

  • 创建一个 host 字段为 % 的 root 用户(创建用户的同时设置密码)
  • 授权所有数据库的访问权限
  • 刷新权限列表

有些 友友就会很奇怪为什么要创建两个 root 用户呢?这个和 mysql 的用户管理方式有关系:localhost 表示本机登录;% 表示远程登陆。 如果 root 用户只有 % ,那就只能除了本机外的其他计算机才能登陆 mysql server,如果用户只有 localhost,那只有本机可以登录,远程计算机不能登录 mysql server 那么 mysql 为什么要这么设计呢?可能是为了安全吧!这样我们可以为 root 设置两个不同的密码,localhost 环境下设置一个很简单的密码;% 环境下就可以极其复杂,诸如:MnRmsrdm9wjkT5XC9Y2F5b4IouAPZBfx (注意 mysql 的密码有长度限制,好像是 32 个字符长度)

新建一个 host 为 % 的 root用户,密码随意

create user 'root'@'%' identified by 'root';

授权

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

刷新权限

FLUSH PRIVILEGES;

通过如下的方式查看我们的用户信息情况

use mysql;
select host,user,authentication_string from user;

1717152057801.png

2.修改配置文件

只设置需要登陆用户的 host 为 % 是不够的,因为 mysql 的配置文件中静止了远程登录,需要去修改一下配置文件。

先关停mysql服务

sudo systemctl stop mysql

编辑mysql配置文件

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

注销掉

#bind-address           = 127.0.0.1

在开启mysql服务即可sudo service mysql start

sudo service mysql start

3.修改linux(我用的ubuntu)系统的防火墙

修改完配置文件之后还需要改变ubuntu系统的防火墙

如果服务器运行的是UFW防火墙,并且你希望从外部网络连接到MySQL服务器,需要开放3306端口:

sudo ufw allow 3306
sudo ufw reload

三、彻底卸载

如果MySQL服务已经启动并运行,你需要使用命令停止它:

sudo systemctl stop mysql

你还必须通过调用命令删除任何与MySQL相关的进程/守护进程。

sudo killall -9 mysql
sudo killall -9 mysqld
sudo apt purge mysql-server -y 
sudo apt purge mysql-client -y 
sudo rm -rf /etc/mysql/ /var/lib/mysql /usr/bin/mysql /var/lib/mysql

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

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

最后执行以下一组命令来清除不再需要的软件包。

sudo apt autoremove -y
sudo apt autoclean -y
ql-server -y 
sudo apt purge mysql-client -y 
sudo rm -rf /etc/mysql/ /var/lib/mysql /usr/bin/mysql /var/lib/mysql

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

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

最后执行以下一组命令来清除不再需要的软件包。

sudo apt autoremove -y
sudo apt autoclean -y
  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu 20.04安装MySQL,你可以按照以下步骤进行操作: 1. 首先,更新软件源列表,确保你使用的是最新的软件包信息: ``` sudo apt update ``` 2. 接下来,使用apt命令安装MySQL服务器: ``` sudo apt install mysql-server ``` 3. 在安装过程中,你将会被要求设置MySQL的root用户密码。请根据提示输入并确认密码。 4. 安装完成后,你可以使用以下命令验证MySQL服务是否已经成功启动: ``` sudo systemctl status mysql ``` 如果MySQL服务正在运行,你将会看到类似于"active (running)"的状态信息。 现在,你已经成功在Ubuntu 20.04安装MySQL。你可以使用以下命令登录到MySQL服务器: ``` mysql -u root -p ``` 请注意,这里的"-p"选项表示需要输入密码。输入你在安装过程中设置的root密码即可。 如果你需要卸载MySQL,可以使用以下命令: ``` sudo apt-get remove --purge mysql-server mysql-client mysql-common sudo apt-get autoremove sudo rm -rf /var/lib/mysql sudo rm -rf /etc/mysql ``` 请确保在执行卸载命令之前备份你的数据库,以免数据丢失。 希望这些信息对你有帮助! #### 引用[.reference_title] - *1* *2* [Ubuntu20.04安装Mysql](https://blog.csdn.net/m0_67393686/article/details/123702186)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Ubuntu20.04安装MySQL](https://blog.csdn.net/weixin_44166819/article/details/122598525)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值