Advertisement

MySQL——Ubuntu20使用deb安装MySQL&远程连接数据库服务器

阅读量:

MySQL的下载和安装

1. 下载

访问MySQL官方网站进行下载:MySQL官网下载地址

下载的文件默认放到Home/Downloads目录下

我这里选择了跟 系统版本及CPU架构对应 8.0.26 Ubuntu20.04 x86_64bit 版本进行了下载:mysql-server_8.0.26-1ubuntu20.04_amd64.deb-bundle.tar

在这里插入图片描述

不清楚自己的系统版本和CPU架构的可以通过一下指令查看:

复制代码
    # 查看Linux发布版本。我这里的 版本为 Ubuntu 20.04.6 LTS
    lsb_release -a
    # No LSB modules are available.
    # Distributor ID: Ubuntu
    # Description:    Ubuntu 20.04.6 LTS
    # Release:        20.04
    # Codename:       focal
    
    # 查看内核版本号 和 CPU 架构。我这里的CPU架构为 x86_64
    uname -a 
    # Linux linyajun-Ubuntu18 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
    
    
    shell
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-08-18/xFi97Iqcr14w38zoQLdkRDHesBbT.png)

2. 安装

解压从本地下载得到的压缩文件,在/usr/local/mysql目錄下執行操作;為了更好地組織資源管理,在該目錄下单建一個以mysql命名的子目錄。

将目录切换到 /usr/local:

解压MySQL安装包

复制代码
    sudo tar xvf mysql-server_8.0.26-1ubuntu20.04_amd64.deb-bundle.tar
    
    
    shell

为了确保各组件能够顺利运行,我们需要先解压后得到的每一个安装文件,并且按照正确的步骤逐一完成安装。

复制代码
    sudo dpkg -i mysql-common_8.0.26-1ubuntu20.04_amd64.deb
    sudo dpkg -i mysql-community-client-plugins_8.0.26-1ubuntu20.04_amd64.deb
    sudo dpkg -i libmysqlclient21_8.0.26-1ubuntu20.04_amd64.deb
    sudo dpkg -i libmysqlclient-dev_8.0.26-1ubuntu20.04_amd64.deb
    sudo dpkg -i mysql-community-client-core_8.0.26-1ubuntu20.04_amd64.deb
    sudo dpkg -i mysql-community-client_8.0.26-1ubuntu20.04_amd64.deb
    sudo dpkg -i mysql-client_8.0.26-1ubuntu20.04_amd64.deb
    sudo dpkg -i mysql-community-server-core_8.0.26-1ubuntu20.04_amd64.deb
    sudo dpkg -i mysql-community-server_8.0.26-1ubuntu20.04_amd64.deb
    sudo dpkg -i mysql-server_8.0.26-1ubuntu20.04_amd64.deb
    
    
    shell
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-08-18/EVai3lhpmR9oztWsfGxBueyTS2rv.png)

安装出错请看这里,没有请忽略

缺少依赖

访问以下地址并完成相应的操作:libaio1的deb下载链接。选择目标系统版本后,请在跳转页面中确定并获取相应的包信息。(建议访问:https://pkgs.org/download(lib)/libaio/包名)完成下载后,请按照指示进行安装。(确保无遗漏,请忽略任何未正确安装的情况)。

复制代码
    sudo dpkg -i ./libaio1_0.3.112-5_amd64.deb
    
    
    shell

libmecab2 的deb官方源码仓库地址为:libmecab2 的deb下载链接,建议根据系统版本选择对应的二进制包版本后,在跳转页面获取具体的下载路径信息。参考官方文档:参考页面。完成解压并按照提示进行安装操作即可完成安装过程,请确保安装完成后打开终端确认是否成功加载词典库(需确保环境变量设置正确)。安装完成,请忽略后续所有提示信息。

复制代码
    sudo dpkg -i ./libmecab2_0.996-10build1_amd64.deb
    
    
    shell

包损坏

特别提示,在安装 mysql-community-server_8.0.26-1ubuntu20.04_amd64.deb 时可能会遇到以下错误信息。具体来说, 这通常是因为软件包存在损坏的可能性较大。如果软件包未损坏, 请忽略此提示

在这里插入图片描述

尝试使用如下命令修复一下。

复制代码
    sudo apt-get install -f
    
    
    shell

如果失败,清除MySQL服务器:

复制代码
    sudo apt-get purge mysql-community-server mysql-community-server
    
    
    shell

然后清理并更新:

复制代码
     sudo apt-get autoclean && sudo apt-get clean && sudo apt-get update
    
    
    shell

做一般升级:这里需要等一段时间(10分钟左右)

复制代码
     sudo apt-get upgrade
    
    
    shell

执行安装 sudo dpkg -i mysql-community-server_8.0.26-1ubuntu20.04_amd64.deb。进入以下界面后,请输入MySQL root用户的密码,并按回车键确认。建议避免设置过于简单的密码。

在这里插入图片描述

安装完成后,继续安装 sudo dpkg -i mysql-server_8.0.26-1ubuntu20.04_amd64.deb

安装完成后验证

查看启动状态,确认是否成功开启 mysql:

复制代码
    service mysql status
    
    
    shell

在执行指令后稍等片刻…, 如果观察到显示active状态, 则表明程序已启动.

在这里插入图片描述

如果不是上述的启动状态,则使用一下指令开启 mysql 服务

复制代码
    service mysql start
    
    
    shell

确认是否启动成功

复制代码
    netstat -tap | grep mysql
    
    
    shell

在LISTEN状态下,启动成功:

在这里插入图片描述

启动完成后验证MySQL是否安装成功

复制代码
    mysql -u root -p
    
    
    shell

输入上述设置的密码,成功进入MySQL。

mysql 中文乱码 解决

没有使用中文的需求和烦恼可以忽略

  • 修改配置文件*
复制代码
    vi /etc/mysql/mysql.conf.d/mysqld.cnf
    
    
    shell

打开vim之后执行命令更改设置权限(vim编辑器基础使用:i进入编辑esc退出编辑:wq保存退出)

复制代码
    # 添加命令,修改编码格式为utf8
    character_set_server=utf8
    
    
    shell

并且,设置授权

复制代码
    # bind-address 后修改为  0.0.0.0
    bind-address = 0.0.0.0
    
    
    shell

修改后的结果如下:

在这里插入图片描述

本地远程连接MySQL服务器

目前无法实现远程连接的原因是: 服务器中下载好的MySQL数据库,默认采用localhost的本地连接模式。

解决思路: 修改数据库的连接权限%

1. 先在服务器中启动MySQL,并以root账户登录

复制代码
    mysql -u root -p;
    # 输入root登录密码
    
    
    mysql

获取用户权限信息——我们直接进入该表结构进行详细分析

复制代码
    # 选择使用的数据库
    use mysql;
    # 查看user表中指定的权限
    select host, user from user;
    
    
    mysql
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

可以看出我们这里的root用户仍是localhost即仅限于本地网络连接也就是说在当前环境下也只能通过服务器内部进行连接

3. 考虑设置可以让root拥有远程访问权限。但需要注意的是这存在较高的安全风险;或者创建一个新的系统用户,并指定该用户的权限范围。

复制代码
    # 给root授权
    update user set Host='%' where user='root';
    flush privileges;  # 刷新权限
    
    # 新建一个用户
    create user 'username'@'%' identified by '123456';
             用户名     所有地址            密码
    
    
    mySQl
在这里插入图片描述

4. 给新用户分配他能访问的数据库,表以及能拥有的权限

复制代码
    -- 授予连接访问权限
    GRANT ALL PRIVILEGES ON [数据库名].[表名] TO '[用户名]'@'[连接地址]' WITH GRANT OPTION;
    -- 授予操作增删改
    GRANT SELECT, UPDATE, DELETE, INSERT ON  test.* TO 'username'@'%' WITH GRANT OPTION;
    -- 刷新权限
    FLUSH PRIVILEGES;
    
    
    mysql
在这里插入图片描述

5. 我们登录新用户看一下

复制代码
    # 登录
    mysql -u xy -p
    
    
    
    mysql
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

6. 我们远程连接测试一下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

全部评论 (0)

还没有任何评论哟~