如何在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;
相关推荐
Z21-X1 小时前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生
Pniubi2 小时前
MySQL靠什么实现事务的?事务隔离级别有哪些?
java·数据库·mysql
数据库小学妹2 小时前
pgbouncer 事务池:prepared statement、临时表与会话状态
数据库·后端·postgresql
aiks_yuan2 小时前
MySQL 死锁怎么排查:看懂 INNODB STATUS 死锁日志,先查后插为什么必死锁(MySQL 8.2 实测)
mysql
陈希1233 小时前
Linux 网络诊断工具实战:ping、curl、tcpdump、mtr、dig 用法详解
linux·网络·tcpdump
进击的荆棘3 小时前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程
刘大望3 小时前
不用买开发板:用 QEMU 走通嵌入式 Linux 全流程(三)存储与网络实地验证
linux·qemu·嵌入式linux·alpine
Lucifer三思而后行4 小时前
最近折腾了一下金仓数据库的备份恢复
数据库·备份恢复
瑞雪兆丰年兮4 小时前
JavaWeb-day11-SpringBootWeb案例(文件上传)
java·运维·服务器·javaweb·oss
那明眸似水4 小时前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器