如何在Ubuntu的Linux系统中安装MySQL5.7数据库

  1. 前往MySQL数据库官网链接地址下载5.7数据库。

    1. MySQL :: Download MySQL Community Server (Archived Versions)
  2. 使用ssh的可视化工具将下载的mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz文件上传到Linux服务器,并解压文件
    1.

    bash 复制代码
    tar -zxvf mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz
  3. 删除mysql压缩包并将解压后的数据库文件夹改名称

  4. 在mysql的安装目录中添加my.cnf文件,设置mysql的配置信息
    1.

    sql 复制代码
    [mysqld]
    # 设置3306端口
    port=3306
    # 设置mysql的安装目录
    basedir=/home/dev/dev-install/mysql-5.7.40
    # 设置mysql数据库的数据的存放目录
    datadir=/home/dev/dev-install/mysql-5.7.40/data
    # 允许最大连接数/
    max_connections=10000
    # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=30
    # 服务端使用的字符集默认为utf8mb4
    character-set-server=utf8mb4
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    socket = /tmp/mysql.sock
    log-error=/home/dev/dev-install/mysql-5.7.40/logs/mysqld.log
    pid-file = /home/dev/dev-install/mysql-5.7.40/logs/mysql.pid
    # 慢日志查询设置
    long_query_time = 10
    slow_query_log_file = /home/dev/dev-install/mysql-5.7.40/logs/mysql-slow.log
    # binlog日志
    server-id=101
    log-bin = /home/dev/dev-install/mysql-5.7.40/binlog/mysql-bin
  5. 在安装目录中新建data、logs、binlog文件夹

  6. 根据自己的安装路径,执行mysqld文件初始化数据库
    1.

    bash 复制代码
    /home/dev/dev-install/mysql-5.7.40/bin/mysqld  --initialize --datadir=/home/dev/dev-install/mysql-5.7.40/data
  7. 进入安装目录的support-files文件夹中,修改mysql.server文件并保存

    1. 修改basedir、datadir参数
    2. 修改图片中原本的conf=/etc/my.cnf为自己设定的值,图片中是加载当前安装目录下的my.cnf文件
  8. 进入support-files文件夹进而启动mysql服务
    1.

    bash 复制代码
    ./mysql.server start
    1. 服务启动成功
  9. 若执行./mysql -uroot -p时出现异常问题./mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory时的处理方案,依次执行下列指令

    bash 复制代码
    sudo apt install apt-file
    sudo apt-file update
    sudo apt install libncurses5
    1. 上面的指令执行完,再次执行./mysql -uroot -p则已经正常运行
  10. 首次进入修改默认的root密码

    1. 修改my.cnf文件,在文件末尾直接添加skip-grant-tables,作用是免密登录数据库。修改完然后保存文件,保存文件之后,先停止mysql服务,然后再启动mysql服务
    2. mysql服务重新启动之后,直接执行./mysql即可正常进入数据库
    3. 修改root密码,123456改为要修改的密码
      1. 切换使用操作mysql数据库
        1.

        sql 复制代码
        use mysql;
      2. 修改密码
        1.

        sql 复制代码
        update user set authentication_string = password("123456") where user = "root";
      3. 刷新数据库
        1.

        sql 复制代码
        flush privileges;
      4. 退出数据库
        1.

        sql 复制代码
        exit;
      5. 退出数据库之后,然后修改my.cnf文件,将skip-grant-tables这一行去掉,然后保存,保存文件之后再把MySQL数据库重启,设置的密码即可正式生效

  11. 若需要设置mysql系统可以远程访问,则需要进入mysql服务执行下列指令
    1.

    sql 复制代码
    use mysql;
    update user set host='%' where user='root';
    flush privileges;
    1. 可视化工具远程测试结果
  12. 若在操作mysql数据库时,mysql数据库提示ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.的解决方案

    1. 需要进入mysql数据库依次执行下列指令,进行重新设置密码即可
    sql 复制代码
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
    flush privileges;
相关推荐
_平凡之路_5 分钟前
解决ubuntu22.04 gnome-terminal 无法启动的问题
linux·运维·python
凯子坚持 c8 分钟前
0基础带你入门Linux之使用
linux·运维·服务器
大王只是带我巡了个山16 分钟前
优化 OR 条件过多导致的查询超时
数据库·mysql·join·or 优化·or 超时·查询超时
EterNity_TiMe_25 分钟前
【Linux基础IO】深入Linux文件描述符与重定向:解锁高效IO操作的秘密
linux·运维·服务器·学习·性能优化·学习方法
python-码博士25 分钟前
Rosetta 一:手把手教你用Linux安装Rosetta(全网最简洁)
linux·运维·服务器
木鬼与槐28 分钟前
MySQL高阶1892-页面推荐2
mysql
gma99944 分钟前
MySQL程序
数据库·mysql
神秘的土鸡1 小时前
Linux中Docker容器构建MariaDB数据库教程
linux·运维·服务器·数据库·docker·mariadb
汪公子4921 小时前
使用k8s搭建mariadb+nginx+wordpress
数据库·nginx·mariadb
Java__攻城狮1 小时前
navicat无法连接远程mysql数据库1130报错的解决方法
数据库·mysql