如何在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;
相关推荐
by组态软件2 分钟前
web组态可视化编辑器
大数据·运维·物联网·低代码·编辑器
雪可问春风2 分钟前
docker+ollama+flask+mysql实现本地数据库读取操作
数据库·docker·flask
dowhileprogramming7 分钟前
Python Flask 开发用于访问数据库的 REST API
数据库·python·flask
格发许可优化管理系统11 分钟前
EB-Cable许可管理中的数据安全与隐私保护
运维·网络·安全
Main. 2417 分钟前
Linux进程观:简单性如何成就强大性(六)
linux·运维·服务器
道友老李24 分钟前
【存储中间件】Neo4J图数据库超详细教程(一):相关介绍、特点及优势、数据模型、软件安装
数据库·中间件·neo4j
西域编娃25 分钟前
Hadoop 集群部署与配置详解
大数据·linux·运维·hadoop·分布式
紫气东来,茉上花开26 分钟前
java如何在linux服务器创建文件excel并把循环插入每一行的后端查出来的数据,每天新建一个excel带时间的
java·linux·服务器
TDengine (老段)27 分钟前
TDengine 数据对接 EXCEL
大数据·数据库·sql·excel·时序数据库·tdengine
2301_8010670928 分钟前
Web服务器配置、虚拟主机配置、访问权限控制
运维·服务器·php·apache