如何在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;
相关推荐
PGCCC34 分钟前
【PGCCC】Postgresql 存储设计
数据库·postgresql
PcVue China2 小时前
PcVue + SQL Grid : 释放数据的无限潜力
大数据·服务器·数据库·sql·科技·安全·oracle
魔道不误砍柴功4 小时前
简单叙述 Spring Boot 启动过程
java·数据库·spring boot
锐策4 小时前
〔 MySQL 〕数据库基础
数据库·mysql
舞动CPU4 小时前
linux c/c++最高效的计时方法
linux·运维·服务器
皮锤打乌龟5 小时前
(干货)Jenkins使用kubernetes插件连接k8s的认证方式
运维·kubernetes·jenkins
远歌已逝5 小时前
管理Oracle实例(二)
数据库·oracle
钰@5 小时前
小程序开发者工具的network选项卡中有某域名的接口请求,但是在charles中抓不到该接口
运维·服务器·小程序
日月星宿~6 小时前
【MySQL】summary
数据库·mysql
wanhengwangluo6 小时前
云服务器和物理服务器的区别有哪些?
运维·服务器