ubuntu22安装mysql8.0

  1. 使用sudo apt update命令更新索引。

  2. 执行sudo apt install mysql-server 命令安装MySQL服务器

  3. 安装完成后 MYSQL服务会自动作为systemd服务自动启动,可以使用 sudo systemctl status mysql 命令验证MYSQL服务是否正在运行。

    Active(running)

    ● mysql.service - MySQL Community Server
         Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
         Active: active (running) since Thu 2023-06-22 19:17:06 CST; 22min ago
        Process: 8884 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
       Main PID: 8892 (mysqld)
         Status: "Server is operational"
          Tasks: 38 (limit: 9430)
         Memory: 366.8M
            CPU: 5.293s
         CGroup: /system.slice/mysql.service
                 └─8892 /usr/sbin/mysqld
    
    6月 22 19:17:05 mumoing systemd[1]: Starting MySQL Community Server...
    6月 22 19:17:06 mumoing systemd[1]: Started MySQL Community Server.
    
    
  4. 如果登陆到Ubuntu22的用户不是root用户(正常应该不是root用户),那么这个时候想要通过命令 mysql -u root -p 登陆MySQL,无论是否输入密码或者密码是否正确都会被拒绝连接(MySQL root用户默认是没有密码的)。错误信息如下:

    ERROR 1698 (28000): Access denied for user 'root'@'localhost'
    
  5. 这是因为在MySQL8上,对于root用户使用auto_socket插件进行身份验证。而这个auto_socket插件仅仅通过从losthost连接到 Unix Socket文件用户进行身份验证。所以不是root用户登录就无法验证通过

  6. 下面将验证方式改为密码验证来确保可以后面可以通过 mysql -u root -p 输入密码直接登录root

    sudo mysql # 连接到mysql服务器 
    
    -- 连接mysql服务器后需要执行两条命令
    -- 修改root登录通过密码验证,并设置root用户密码
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
    -- 刷新权限表
    FLUSH PRIVILEGES;
    
  7. 尝试通过 mysql -u root -p 输入刚刚设置的密码登录MySQL服务,end~

  8. 输入MySQL命令status查看编码格式,直接就是utf8,完美。
    在这里插入图片描述

  9. 配置root用户可以在哪些主机上进行登录,默认只能通过在本机上localhost登录。

    use mysql;
    -- 更新root用户可以远程在任何机器上登录
    update user set host='%' where user='root' and host='localhost'; 
    -- 刷新权限表,使配置生效。注意:此时就要刷新一下权限表
    flush privileges; 
    
    
    -- all on 表示所有权限;% 表示通配所有的host 可以远程访问。
    grant all on *.* to 'root'@'%';
    -- 再次刷新权限表
    flush privileges; 
    
    
  10. 愉快的开始使用MySQL吧。

补充说明:使用navicat远程连接如果出现以下问题。2002 - Can't connect to server on '192.168.9.17' (36)在这里插入图片描述

编辑mysql配置文件 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 找到下面这一行,添加#号给注释掉。保存配置文件。
在这里插入图片描述

执行systemctl restart mysql重启MySQL服务,重新连接即可成功。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值