• 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

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

  • 相关阅读:
    【2017年数据结构真题】
    C语言学习之路(工具篇)—— Visual Studio的使用
    计算机毕业设计ssm+vue+elementUI高校志愿者服务招募网站
    HAProxy(一)
    在Android studio 创建Flutter项目运行出现问题总结
    使用 C++ 进行CUDA编程教程
    【强化学习】06 —— 基于无模型的强化学习(Control)
    etcd 裸机部署【简单易懂】
    day22_mysql
    特征工程/数据预处理超全面总结(持续更新ing...)
  • 原文地址:https://blog.csdn.net/qq_40722827/article/details/126594578