当前位置: 首页 > news >正文

mysql安装与使用

mysql安装与使用

  1. 安装指定版本的mysql

    # 获得deb包
    wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
    # 安装deb包(中间选择5.7)
    sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
    # 更新apt仓库缓存
    sudo apt-get update
    # 如果更新报错,缺少key,则运行下列语句,替换对应缺少的key
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
    # 更新后查看当前mysql的可安装版本
    sudo apt-cache policy mysql-server
    # 安装 mysql5.7(安装过程需要配置输入 mysql root 的password)
    sudo apt install -f mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7*
    
    # 如果报错,先取消上面的安装
    sudo apt --fix-broken install
    # 然后安装对应的依赖
    # 安装libmecab2
    sudo apt install libmecab2
    # 安装libaio1
    sudo apt install libaio1
    # 安装mysql-community-client
    sudo apt install mysql-community-client=5.7*
    # 再次安装 mysql 5.7
    sudo apt install -f mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7*
    
  2. 安装mysql 8.0

    # 安装MySQL 8 只需这步(ubuntu22.04默认php版本为8.0)
    sudo apt install mysql-server -y
    # 检查状态
    sudo systemctl status mysql
    
  3. 配置mysql

    • 查看初始密码位置:

      sudo cat /etc/mysql/debian.cnf
      
    • 查找配置文件:

      sudo find / -name my.cnf
      sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
      
    • 配置更改:

      [mysqld]
      #port=3306
      # 服务端使用的字符集默认为utf8
      character-set-server=utf8
      # 时区配置
      default-time-zone = '+08:00'
      # 认证方式
      default_authentication_plugin=mysql_native_password
      # 连接地址
      bind-address = 0.0.0.0
      # 解决group_concant报错
      sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
      
      [mysql]
      # 设置mysql客户端默认字符集
      default-character-set=utf8
      
      [client]
      default-character-set=utf8
      # 客户端保存密码
      user = backup_user
      password = password
      host = 127.0.0.1
      # 容器中配置
      #host = mysql-8.0
      

    4. mysql常用操作

    • 连接数据库:

      # 复制sql文件到容器(使用docker部署)
      sudo docker cp my_db.sql mysql-8.0:/
      # 进入数据库容器(使用docker部署)
      sudo docker exec -it mysql-8.0 bash
      # 连接数据库
      mysql -u root -p
      
    • 创建并导入数据库:

      -- 创建数据库
      create database my_db default character set utf8 collate utf8_general_ci;
      -- 选择数据库
      use my_db;
      -- 导入sql文件
      source my_db.sql;
      
    • 分配指定数据库权限:

      -- 创建数据库用户
      CREATE USER 'my_db_user'@'%' IDENTIFIED BY 'strong_password';
      -- 分配用户指定数据库权限
      grant all privileges on my_db.* to 'my_db_user'@'%';
      -- 刷新权限
      flush privileges;
      
    • 分配备份数据库权限:

      -- 创建专用备份账号
      CREATE USER 'backup_user'@'%' IDENTIFIED BY 'strong_password';
      -- 授予基础权限
      GRANT SELECT, SHOW VIEW, TRIGGER, LOCK TABLES, PROCESS ON *.* TO 'backup_user'@'%';
      -- 如果数据库含事件调度
      GRANT EVENT ON my_db.* TO 'backup_user'@'%';
      -- 刷新权限
      FLUSH PRIVILEGES;
      
    • 导出数据库:

      # 导出指定数据库
      sudo mysqldump -uroot -p my_db > ~/projectname.sql
      # 导出容器中指定数据库
      sudo docker exec mysql-8.0 mysqldump -uroot -p my_db > ~/my_db.sql
      # 导出所有数据库
      sudo mysqldump -uroot -p --all-databases > ~/all-databases.sql
      # 导出容器中所有数据库
      sudo docker exec mysql-8.0 mysqldump -uroot -p  --all-databases > ~/all-databases.sql
      

相关文章:

  • 深入理解 ALSA 声卡驱动:从理论到实践,解决嵌入式 Linux 声卡无声问题
  • 辉芒单片机FLASH->ACR导致的问题
  • Springboot+Netty+WebSocket搭建简单的消息通知
  • 大一新生备战蓝桥杯c/c++B组——2024年省赛真题解题+心得分享
  • 数仓建模和标签体系之间存在着密切的依赖关系
  • 27_Java2DRenderer结合freemarker动态生成图片
  • 可视化图解算法:合并k个已排序(升序)的链表
  • LeetCode——560. 和为 K 的子数组
  • 目前人工智能的发展,判断10年、20年后的人工智能发展的主要方向,或者带动的主要产业
  • 【openwebui 搭建本地知识库(RAG搭建本地知识库)】
  • 软件测试之测试用例
  • Microsoft Edge “无法更新” 解决办法
  • 学习笔记之车票搜索为什么用Redis而不是ES?
  • 32单片机——LED
  • 通过 Python 爬虫提高股票选股胜率
  • 【教学类-43-26】20240312 数独4宫格的所有可能(图片版 576套样式,空1格-空8格,每套65534张*576小图=3千万张小图)
  • 【web】网页崩溃
  • 【初级篇】如何使用DeepSeek和Dify构建高效的企业级智能客服系统
  • SVT-AV1源码分析函数 svt_av1_cost_coeffs_txb
  • 【Python入门】一篇掌握Python中的字典(创建、访问、修改、字典方法)【详细版】
  • 2025年上海科技节5月17日启动,56家重点实验室和大科学设施将向公众开放
  • 尹锡悦涉嫌发动内乱案举行第三次庭审
  • 中国工程院院士、国医大师、现代中国针灸奠基人石学敏逝世
  • 1156万+1170万,静安、宝山购彩者击中大乐透头奖
  • 瑞士联邦主席凯勒-祖特尔、联邦副主席帕姆兰会见何立峰
  • 侧记|青年为何来沪创新创业?从这一天寻找答案