• Ubuntu本地安装MySQL8.0以及常见问题设置方法


    安装mysql

    更新源

    sudo apt update
    
    • 1

    安装mysql-server

    apt install mysql-server -y
    
    • 1
    • 安装完成以后,MySQL服务将自动启动

    查看服务状态

    service mysql status
    
    • 1

    在这里插入图片描述

    配置root密码

    方法一:初始化配置密码

    sudo mysql_secure_installation
    
    • 1
    • 配置MySQL root用户的密码。
    • 进交互模式,输入
    mysql -u root -p
    
    • 1
    • 直接回车,输入刚刚配置的密码,然后回车。
    • 进入交互模式

    方法二:跳过密码,进入交互模式配置

    • 如果觉得配置麻烦可以修改配置文件,跳过密码登录
    vim /etc/mysql/mysql.conf.d/mysqld.cnf
    
    • 1
    • 在配置文件最后面添加这一行配置,禁用登录校验
    skip-grant-tables
    
    • 1

    在这里插入图片描述

    • 重启mysql : service mysql restart
    • 登录mysql
    mysql -u root -p
    
    • 1
    • 直接回车,输密码也直接回车。

    • 进入交互模式

    在这里插入图片描述

    • 依次执行下面的命令:
    use mysql;
    
    flush privileges;
    
    # 先把root密码置为空
    UPDATE user SET authentication_string="" WHERE user="root";
    
    flush privileges;
    
    # 再重置root密码,密码修改为自己想要的
    ALTER user 'root'@'localhost' IDENTIFIED BY 'xxx密码xx';
    
    flush privileges;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • quit退出mysql交互模式,去掉之前配置文件加的skip-grant-tables,再重启mysql(service mysql restart

    • mysql -u root -p输入设置的正确密码就能进入mysql交互模式了。

    设置mysql允许远程登录

    # mysql服务器出于安全考虑,默认只允许本地登录数据库服务器。
    # 更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”,然后重启mysql这样就允许所有的远程机器进行访问了。
    update user set host = ‘%’ where user = ‘root’;
    
    # 查看修改后的结果
    select host, user from user;
    
    flush privileges;
    
    # 授予root用户全部权限
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
    
    update user set plugin='mysql_native_password' where user='root';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    更改mysql数据目录

    • 首先停掉服务:sudo service mysql stop

    • 因为Ubuntu有访问控制系统apparmor,所以还需要修改与该访问控制系统相关的文件

    # 修改安全保护文件
    vim /etc/apparmor.d/usr.sbin.mysqld
    
    • 1
    • 2
    • 添加新的数据文件目录
      在这里插入图片描述
    # 重启apparmor服务
    
    /etc/init.d/apparmor restart
    
    • 1
    • 2
    • 3

    创建新的数据目录

    cd /data/
    
    mkdir mysql
    
    # 设置新的存储目录的权限:MySQL数据库存档数据的目录的所有者和所属组只能是mysql用户
    chown mysql:mysql /data/mysql
    
    cp -a /var/lib/mysql/* /data/mysql
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    修改配置文件的数据目录

    vim /etc/mysql/mysql.conf.d/mysqld.cnf
    
    • 1

    在这里插入图片描述

    • 重启服务sudo service mysql start,然后配置就生效了。

    设置mysql开机自启动

    sudo update-rc.d -f mysql defaults
    
    
    # 取消开机启动
    sudo update-rc.d -f mysql remove
    
    • 1
    • 2
    • 3
    • 4
    • 5

    默认文件目录

    • 数据库目录:/var/lib/mysql/。
    • 配置文件:/usr/share/mysql-8.0(命令及配置文件),/etc/mysql(如my.cnf)。
    • 相关命令:/usr/bin(mysqladmin、mysqldump等命令)和/usr/sbin。
    • 启动脚本:/etc/init.d/mysql(启动脚本文件mysql的目录)。

    卸载命令

    sudo apt purge mysql-*
    sudo rm -rf /etc/mysql/ /var/lib/mysql /data/mysql
    sudo apt autoremove
    sudo apt autoclean
    
    • 1
    • 2
    • 3
    • 4

    你知道的越多,你不知道的越多。

  • 相关阅读:
    C++与C语言中的字符串
    我在中东做MCN,月赚10万美金
    ESP32-S3在VSCODE上编译烧录
    【Java面试】第三章:P6级面试
    利用 clip-path 绘制不规则的图形
    微服务框架 SpringCloud微服务架构 5 Nacos 5.1 认识和安装Nacos
    java项目-第151期ssm文物管理系统_java毕业设计_计算机毕业设计
    V-Value in fiber(光纤中的V值)
    用python实现在卷积神经网络中,如何计算各层感受野的大小
    SpingBoot整合Quartz框架实现动态定时任务(支持实时增删改查任务)
  • 原文地址:https://blog.csdn.net/qq_40722827/article/details/126594578