麒麟体系安装Mysql

打印 上一主题 下一主题

主题 1644|帖子 1644|积分 4932

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
步骤1:添加 MySQL 官方 APT 仓库

直接在终端执行以下命令,体系会自动设置仓库并选择版本:
  1. # 下载 MySQL APT 仓库配置工具
  2. wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
  3. # 安装配置工具(会弹出图形界面选择版本)
  4. sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb
复制代码


  • 在弹出的设置界面中:

    • 选择 MySQL Server & Cluster -> mysql-8.0
    • 选择 OK 确认。


步骤2:更新仓库并安装 MySQL 8.0.41


  1. # 更新软件源
  2. sudo apt update
  3. 若缺少秘钥
  4. sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B7B3B788A8D3785C
  5. # 更新软件源 sudo apt update
复制代码
#安装
  1. sudo apt install mysql-server
复制代码

步骤3:启动服务并初始化


  1. # 启动 MySQL
  2. sudo systemctl start mysql
  3. # 设置开机自启
  4. sudo systemctl enable mysql
  5. # 运行安全配置向导
  6. sudo mysql_secure_installation
复制代码


2. 查找临时暗码

MySQL 8.0 在首次安装时会天生一个临时暗码,通常记录在日志文件中。执行以下命令查找:
  1. sudo grep 'temporary password' /var/log/mysql/error.log
复制代码


3. 使用临时暗码登录 MySQL

使用临时暗码登录 MySQL:
  1. mysql -u root -p
复制代码


4. 修改 root 暗码

在 MySQL 命令行中执行以下命令修改暗码:
  1. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
  2. FLUSH PRIVILEGES;
复制代码


5. 重新运行安全设置向导

修改暗码后,重新运行安全设置向导:
  1. sudo mysql_secure_installation
复制代码

  1. sudo mysql
复制代码


6. 假如未找到临时暗码

假如未找到临时暗码,可能是 MySQL 使用了 auth_socket 插件,允许体系用户无需暗码直接登录。可以通过以下方式办理:
使用 sudo 直接登录



  • 按提示操纵:

    • 设置 root 暗码。
    • 移除匿名用户(输入 Y)。
    • 禁止长途 root 登录(输入 Y)。
    • 删除测试数据库(输入 Y)。
    • 重新加载权限表(输入 Y)。

  • 操纵完成后假如发现没有设置暗码
  • 1. 查抄 MySQL 是否已启动

    确保 MySQL 服务已正常运行:
    1. sudo systemctl status mysql
    复制代码
  • 假如状态为 active (running),阐明服务已启动。
  • 假如未启动,尝试手动启动:
    1. sudo systemctl start mysql
    复制代码
  • 输出示例:
    1. 2023-10-01T12:34:56.789012Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: abcdef123456
    复制代码
  • 记下临时暗码(如 abcdef123456)。
  • 输入临时暗码后进入 MySQL 命令行。
  • 将 你的新暗码 替换为强暗码(如 MyNewPassword123!)。
  • 输入新暗码。
  • 按提示完成安全设置(如删除匿名用户、禁止长途 root 登录等)。
  • 进入 MySQL 命令行后,执行以下命令修改暗码:
    1. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
    2. FLUSH PRIVILEGES;
    复制代码
  1. sudo mysql
复制代码




  • 进入 MySQL 命令行后,执行以下命令修改暗码:
    1. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
    2. FLUSH PRIVILEGES;
    复制代码
  • 退出 MySQL 命令行后,使用新暗码登录:
    1. mysql -u root -p
    复制代码
  • 输入新暗码,确认是否可以正常登录。

步骤4:验证安装


  1. # 查看版本
  2. mysql --version
  3. # 输出示例:mysql  Ver 8.0.41 for Linux on x86_64 (MySQL Community Server - GPL)
  4. # 登录 MySQL
  5. mysql -u root -p
  6. # 输入密码后进入 MySQL 命令行
复制代码




关键留意事项


  • 版本兼容性

    • 若麒麟体系基于 Ubuntu 20.04,需将安装命令中的 ubuntu22.04 替换为 ubuntu20.04。
    • 若仓库中无 8.0.41 版本,可安装最新 8.0.x 版本(如 8.0.42),功能完全兼容。

  • 依赖冲突处理
    假如之前安装过 MySQL 或 MariaDB,需先彻底卸载:

    1. sudo apt purge mysql-server* mariadb-server*
    2. sudo rm -rf /etc/mysql /var/lib/mysql
    3. sudo apt autoremove
    复制代码
  • 设置文件路径

    • 主设置文件:/etc/mysql/my.cnf
    • 数据目录:/var/lib/mysql

  • 防火墙设置(可选)
    如需长途访问,开放 3306 端口:

    1. sudo ufw allow 3306/tcp
    复制代码

常见问题办理


  • 安装时提示依赖错误
    运行以下命令修复依赖:

    1. sudo apt install -f
    复制代码
  • 安装界面未弹出书籍选择
    手动编辑仓库设置文件:

    1. sudo nano /etc/apt/sources.list.d/mysql.list
    复制代码
    确保包罗以下内容:

    1. deb http://repo.mysql.com/apt/ubuntu/ focal mysql-8.0  # 替换 focal 为系统代号(如 jammy)
    复制代码
  • 忘记 root 暗码
    重置暗码步骤:

    1. sudo systemctl stop mysql
    2. sudo mysqld_safe --skip-grant-tables &
    3. mysql -u root
    4. # 在 MySQL 命令行执行:
    5. ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
    6. FLUSH PRIVILEGES;
    7. exit
    8. sudo systemctl start mysql
    复制代码

假如 MySQL 只能在本地毗连,而局域网内的其他电脑无法毗连,通常是因为 MySQL 的设置限制了长途访问。以下是办理方法的详细步骤:

1. 查抄 MySQL 绑定地点

MySQL 默认只绑定到 127.0.0.1(即本地回环地点),必要修改为 0.0.0.0 以允许长途毗连。
步骤1:编辑 MySQL 设置文件


  • 打开 MySQL 设置文件:
    bash
    复制
    1. sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
    复制代码

    • 假如文件路径差别,请根据现实路径调整。

  • 找到 bind-address 设置项,将其修改为:
    ini
    复制
    1. bind-address = 0.0.0.0
    复制代码

    • 0.0.0.0 表示允许全部 IP 地点毗连。

  • 生存并退出(Ctrl + O 生存,Ctrl + X 退出)。
步骤2:重启 MySQL 服务

bash
复制
  1. sudo systemctl restart mysql
复制代码

2. 查抄防火墙设置

假如防火墙未开放 MySQL 的端口(默认 3306),局域网内的其他电脑将无法毗连。
步骤1:开放 3306 端口


  • 假如使用 ufw 防火墙:
    bash
    复制
    1. sudo ufw allow 3306/tcp
    2. sudo ufw reload
    复制代码
  • 假如使用 iptables 防火墙:
    bash
    复制
    1. sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
    2. sudo iptables-save | sudo tee /etc/iptables/rules.v4
    复制代码
步骤2:查抄防火墙状态

bash
复制
  1. sudo ufw status
复制代码


  • 确保 3306/tcp 已允许。

3. 查抄 MySQL 用户权限

MySQL 用户默认只能从 localhost 毗连,必要授权长途访问。
步骤1:登录 MySQL

bash
复制
  1. mysql -u root -p
复制代码
步骤2:授权长途访问


  • 查看当前用户权限:
    sql
    复制
    1. SELECT user, host FROM mysql.user;
    复制代码

    • 假如 root 用户的 host 仅为 localhost,则必要修改。

  • 授权 root 用户从任意 IP 访问:
    sql
    复制
    1. CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
    2. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    3. FLUSH PRIVILEGES;
    复制代码

    • 将 你的暗码 替换为现实暗码。

  • 假如已有 root@% 用户,只需更新权限:
    sql
    复制
    1. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    2. FLUSH PRIVILEGES;
    复制代码
步骤3:退出 MySQL

sql
复制
  1. exit;
复制代码

4. 查抄网络毗连

确保局域网内的其他电脑可以访问 MySQL 服务器的 IP 地点。
步骤1:获取 MySQL 服务器的 IP 地点

在 MySQL 服务器上运行:
bash
复制
  1. ip a
复制代码


  • 找到局域网 IP 地点(如 192.168.1.100)。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

饭宝

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表