Ubuntu20.04上安装MySQL8.0(绝对保证能够正常使用)

今天在学习 Spark 连接 MySQL时发现还没安装,便参考了厦门大学实验室的Blog进行操作。但安装完成之后发现没有显示设置密码的选择,但又改不掉root密码(头开始痛起来)。

故记录一下安装MySQL并新建账户授权的过程。

方法一

  1. 在 MySQL 官网下载安装包

    https://dev.mysql.com/downloads/repo/apt/

  2. 在 Ubuntu 中使用终端命令进行解压

    # 输入命令, dpkg 是解压的意思,最后的参数是安装包名称,一定要写对
    sudo dpkg -i 安装包(不能出错)
    

    解压显示的 GUI 页面直接选择 OK 后 <确定>

    # 输入命令为 如果显示 Yes/No 填Y
    sudo apt update 
    sudo apt upgrade
    # 这里填完 Y 之后会经过比较长的下载时间,大概 30 分钟后进行 GUI 页面
    sudo apt install mysql-community-server
    

  3. 安装完成后启动 MySQL 服务并登录 Root 用户

    # 启动和关闭mysql服务器
    service mysql start
    service mysql stop
    

    确认是否启动成功,MYSQL 节点处于LISTEN状态表示启动成功 (重要),MySQL 8.X 这里会显示两条信息

    查看是否启动成功

    进入MySQL Shell界面:这里会要求输入 MySQL Root 用户密码

方法二(无法设置 Root 密码)

Ubuntu在20.04版本中,源仓库中MySQL的默认版本已经更新到8.0。可以直接使用apt安装。

apt 安装MySQL

sudo apt-get update  #更新源
sudo apt-get install mysql-server #安装

sudo apt install net-tools

MySQL服务管理

sudo service mysql status # 查看服务状态
sudo service mysql start # 启动服务
sudo service mysql stop # 停止服务
sudo service mysql restart # 重启服务

登录

查看密码使用这条查看

sudo cat /etc/mysql/debian.cnf

使用默认账户登录

mysql -u debian-sys-maint -p

或直接进入 Mysql

sudo mysql

找不到初始密码可以在my.ini中 [mysqld] 添加:skip-grant-tables

创建新用户

因为方法二尝试修改了root账户的密码似乎不起作用,于是创建一个新的账户来作为日常使用

新建账户

新建一个root用户,密码为root

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

授权

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

修改MySQL数据库配置文件无密码登录后,修改密码报错为以下

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

则需先执行:FLUSH PRIVILEGES; 后再执行修改密码命令即可。

重置密码

重置root账户密码为 password

SET PASSWORD FOR root@'localhost' = PASSWORD('password');

或者执行

SET PASSWORD FOR root@'localhost' = 'password';

卸载MySQL

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

注意如果要卸载需要卸载干净!避免影响以后的重新安装

参考文章:

posted @ 2022-03-28 14:26  RioTian  阅读(4313)  评论(0编辑  收藏  举报