• linux 安装离线版mysql数据库


    1. 下载 tar

    2. 解压 tar -xvf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz

      创建data/ 及 log/mysqld.log 文件,并给文件夹赋权限:chmod 777 -R data/

    3. 创建新的用户组和新的用户,用来管理mysql,提高安全性

      groupadd mysql
      
      • 1

      添加mysql用户 ,并制定组为mysql,/sbin/nologin意思是用户不允许登录

      useradd -r -g mysql mysql -s /sbin/nologin
      
      • 1

      给mysql用户授权能够访问/home下的mysql-5.7.29文件夹

      chown -R mysql.mysql /home/mysql-5.7.29/
      
      • 1
    4. 修改/etc/my.cnf 配置文件

      basedir=/home/mysql-5.7.29
      
      datadir=/home/mysql-5.7.29/data
      
      socket=/home/mysql-5.7.29/mysql.sock
      
      log-error=/home/mysql-5.7.29/logs/mysqld.log
      
      pid-file=/home/mysql-5.7.29/data/mysqld.pid
      
      default-character-set=utf8
      
      #设置忽略大小写(简单来说就是sql语句是否严格),默认库名表名保存为小写, 不区分大小写
      lower_case_table_names = 1
      
      其中有个密码安全策略:5.7版本不能识别,会报错
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
    5. 初始化数据库

      ./bin/mysqld --initialize --user=mysql --basedir=/home/mysql-5.7.29/ --datadir=/home/mysql-5.7.29/data
      
      • 1

      basedir 及 datadir 为你的路径
      此时会生成一个临时密码, 首次登录数据库时需要使用当前密码;

    6. 添加至开机启动

      在mysql5.7.29的目录下执行下列语句,把启动脚本放到开机初始化目录

      cp ./support-files/mysql.server /etc/init.d/mysqld
      
      • 1

      设置开机启动,在mysql-5.7.29的目录下执行下列语句(按个人需求选择加或不加)

      chkconfig --add mysqld
      
      • 1
    7. 修改mysqld,使用vim /etc/init.d/mysqld 命令
      将代码中的basedir 及 datadir 修改为你的路径

    8. 启动mysql service mysqld start
      重启mysql: service mysqld restart
      查看mysql状态:service mysqld status

      mysql如果登录失败 请查看mysqld.log日志 排查原因,
      mysql重启时,需要创建mysqld.pid 文件,文件记录进程号

    9. 数据库启动成功,登录数据库

      输入密码进行登录 mysql -u root -p

      如果密码忘记或一直失败,可以在/etc/my.cnf 文件中添加 skip-grant-table 配置,跳过mysql配置
      修改后重启mysql,进行mysql -u root -p 登录,输入密码时直接回车,即可登录,执行 flush privileges; 进行更新权限

      登录成功后,给用户修改密码: alter user 'root'@'localhost' identified by '密码';

      密码修改正确,使用quit 退出数据库,修改/etc/my.cnf 去掉skip-grant-table 配置,重启数据库,
      进行mysql -u root -p 登录,输入密码后进行登录

      给mysql开放远程连接权限 grant all privileges on *.* to 'root'@'%' identified by '密码';

      执行 flush privileges; 进行更新权限

      即可在数据库连接工具中进行测试

      linux中执行mysql命令时出现 bash: mysql: 找不到命令
      现这种错误的原因是由于系统默认会查找/usr/bin下的命令,mysql没有在这个目录下,所以报错,因此需要将mysql的安装路径链接到/usr/bin目录下 。
      执行命令: ln -s /usr/local/mysql/bin/mysql /usr/bin
      /usr/local/mysql/bin/mysql 为你数据库的安装路径

    参考连接 mysql https://www.likecs.com/show-203894326.html#sc=1163

  • 相关阅读:
    四十二、java版 SpringCloud分布式微服务云架构之Java 文档注释
    Apache Airflow (十二) :PythonOperator
    文章解读与仿真程序复现思路——中国电机工程学报EI\CSCD\北大核心《计及电动汽车需求响应的高速公路服务区光储充鲁棒优化配置》
    devpi
    C++常用stl
    排序算法:堆排序
    读Mybatis框架 总结(个人理解)
    vue之组件动态添加style样式的四种写法(齐全)
    跟李沐学AI之卷积神经网络
    前端工作总结213-实现分页秀呀
  • 原文地址:https://blog.csdn.net/qq_42736065/article/details/127685119