温馨提示×

Ubuntu Mariadb常见问题及解决方案

小樊
64
2025-05-16 02:26:48
栏目: 云计算

在Ubuntu上安装和配置MariaDB时,用户可能会遇到一些常见问题。以下是一些常见问题及其解决方案:

1. 安装和配置MariaDB

  • 添加MariaDB存储库
    sudo apt-get update
    sudo apt-get install software-properties-common
    sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
    sudo add-apt-repository 'deb [archamd64] http://mirror.mariadb.org/repo/10.1/debian buster main'
    sudo apt update
    
  • 安装MariaDB
    sudo apt install mariadb-server
    
  • 启动MariaDB服务
    sudo systemctl start mariadb
    
  • 设置MariaDB随系统自动启动
    sudo systemctl enable mariadb
    
  • 验证MariaDB服务状态
    sudo systemctl status mariadb
    
  • 保护MariaDB安装
    sudo mysql_secure_installation
    

2. 常见问题和解决方案

  • 连接被拒绝

    • 检查防火墙设置,确认bind-address未设置为127.0.0.1
    • 验证用户权限中的主机限制(%表示允许所有主机)。
  • 忘记root密码

    sudo systemctl stop mariadb
    sudo mysqld_safe --skip-grant-tables & mysql -u root
    

    在MySQL中执行:

    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    exit
    sudo systemctl start mariadb
    
  • 主从同步出错

    • 跳过当前出错的命令:
      stop slave;
      set GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
      start slave;
      
  • 导出数据再导入出现字符编码错

    • 使用into outfile导出数据,再使用load data infile,出现字符编码错,原来是导出的表有字段是utf8mb4编码,所以导入的时候也需要指定编码:
      load data INFILE '/data/Diary.txt' into table Diary CHARACTER SET 'utf8mb4';
      
  • 远程访问问题

    • 修改配置文件/etc/mysql/mariadb.conf.d/50-server.cnf,将bind-address设置为0.0.0.0
      bind-address  0.0.0.0
      
    • 开放3306端口:
      sudo ufw allow 3306
      

3. 自动化部署

  • 使用Ansible自动化部署MariaDB的基本步骤包括:
    • 准备Ansible控制节点和托管节点。
    • 创建Ansible配置文件和清单文件。
    • 定义变量和Playbook来完成任务。

请注意,以上信息基于最新的搜索结果,具体操作时请参考最新的官方文档和教程。

0