Debain系统mysql8.0的安装以及远程连接

下面是关于在Debian系统上安装MySQL 8.0并配置远程连接的详细教程:

一、安装MySQL 8.0

  1. 更新软件包索引:

    sudo apt-get update
  2. 安装MySQL服务器:

    由于Debian官方库中默认可能没有MySQL 8.0,所以我们需要添加MySQL APT存储库。

    首先下载MySQL APT配置包:

    wget https://dev.mysql.com/get/mysql-apt-config_0.8.30-1_all.deb #版本可以自己修改

    然后安装它:

    sudo dpkg -i mysql-apt-config_0.8.30-1_all.deb

    在安装过程中,会提示选择MySQL的版本,选择MySQL 8.0并确认。两次选择以后,第三次选择ok,不然会一直循环一个页面

  3. 再次更新软件包索引:

    sudo apt-get update
  4. 安装MySQL服务器:

    sudo apt-get install mysql-server        #这里会引导你设置root账户密码
  5. 启动MySQL服务并使其开机自启动:

    sudo systemctl start mysql
    sudo systemctl enable mysql

二、配置MySQL

  1. 运行安全安装脚本:

    sudo mysql_secure_installation

    该脚本会引导你完成一些安全相关的设置,比如设置root用户密码、删除匿名用户、禁止远程root登录等。

  2. 登录MySQL:

    sudo mysql -u root -p

三、配置远程连接

  1. 创建远程用户并授权:

    在MySQL命令行中,输入以下命令来创建一个远程用户并赋予其权限:

    CREATE USER 'youruser'@'%' IDENTIFIED BY 'yourpassword';
    GRANT ALL PRIVILEGES ON *.* TO 'youruser'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    ​
    #mysql8.0及以上更高版本有些语法以及插件可能会发生变化,如果修改不了请看下方:
    先登录mysql
    ​
    mysql -u root -p
    输入密码
    ​
    mysql> use mysql;
    mysql> select user,host from user;
    +------------------+-----------+
    | user             | host      |
    +------------------+-----------+
    | root             | %         |
    | admin            | localhost |
    | mysql.infoschema | localhost |
    | mysql.session    | localhost |
    | mysql.sys        | localhost |
    | zhangj           | localhost |
    +------------------+-----------+
    注意我的 root,host是'%'
    ​
    你可能执行的是:
    ​
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
    改成:
    ​
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123';
    如果还是不行:
    ​
    尝试一:重置密码为空
    ​
    先登录MySQL,重置密码为空,并刷新
    ​
    update user set authentication_string='' where user='root';
    flush privileges;
    再用上面的方法修改密码
  2. 修改MySQL配置文件:

    编辑MySQL的主配置文件my.cnf(一般在/etc/mysql/mysql.conf.d/mysqld.cnf/etc/mysql/my.cnf):

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

    找到bind-address这一行,修改为:

    bind-address = 0.0.0.0

    这将允许MySQL监听所有IP地址。

  3. 重启MySQL服务:

    sudo systemctl restart mysql

4、去华为云或者阿里云开放mysql相应的端口

5、如果8.0远程链接失败,报错Plugin 'mysql_native_password' is not loaded

重新启用 MySQL Native Password 插件
虽然 MySQL 8.4 默认不再启用 mysql_native_password 插件,你仍然可以启用该插件。不推荐这么做除非 PHP 应用在 PHP 7.3 或者更好的版本上运行,这些旧版本无法使用 caching_sha2_password 插件。
​
要启用 mysql_native_password 插件,请在 MySQL 配置文件的 [mysqld] 区域添加以下内容并重启 MySQL 服务。
​
在基于 Debian/Ubuntu 的系统中,该文件位于 /etc/mysql/ 目录。推荐为此创建新文件,比如 /etc/mysql/conf.d/enable-mysql-native-password.cnf。
​
# Enable mysql_native_password plugin
[mysqld]
mysql_native_password=ON

如果你的Debian系统启用了防火墙,需要允许MySQL服务通过:

sudo ufw allow 3306/tcp

五、测试远程连接

你可以使用MySQL客户端工具(如MySQL Workbench)或者命令行从远程主机连接到你的MySQL服务器。例如:

mysql -u youruser -p -h your_debian_server_ip

输入密码后,如果连接成功,说明配置正确。

这样,你就成功在Debian系统上安装了MySQL 8.0,并配置了远程连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值