blogSite

我是谁?我在哪儿?我在干什么?

View project on GitHub

群晖Nas上的Docker安装MySQL

安装步骤

  1. 首先要有一台支持Docker的群晖NAS(其他的也可以);
  2. 在NAS上安装Docker;
  3. 在Docker的注册表中搜索“mysql”,双击安装选择版本;
  4. 配置:
    • 端口设置,如果本地端口没有被占用,建议将本地端口和容器端口设置成一致的(3306)
    • 卷中文件/文件夹一栏填写NAS文件夹位置以及对应docker中的装载路径

      文件/文件夹 装载路径
      /docker/mysql/data /home/data
      /docker/mysql/conf /home/conf
      /docker/mysql/logs /home/logs
    • 环境变量中,为配置MySQL登陆密码,增加MYSQL_ROOT_PASSWORD变量,值为密码。
    • 在勾选了“向导完成后运行此容器”下点击应用,容器即启动
  5. 容器界面,双击安装好的容器,在终端机中点击下方的新增按钮;
  6. 在命令提示框中用root和设置的密码登录MySQL > mysql -u root -p
  7. 尝试远程链接是否成功,如果不成功,需要在命令行登录成功后设置远程链接权限 > grant all privileges on *.* to ‘root’@’%’;,同时用 > select Host,User,plugin from mysql.user;查询root用户是否有对应为%(表示可以远程访问)的Host;
  8. 命令行修改目录映射,防止Docker出现问题时数据丢失
    • 默认路径
        / 默认目录如下
        ├─ /var/lib/mysql  日志文件,数据库文件
        ├─ /var/log/mysql/error.log    错误日志
      
        / 最终需要修改的目录
        ├─ /home/data  日志文件,数据库文件
        ├─ /home/logs/error.log    错误日志
      
    • 安装vim
        apt-get update
        apt-get install net-tools
        apt-get install vim
      
    • 配置目录权限
        mkdir  -p /home/data
        mkdir  -p /home/logs
        chown -R mysql:mysql /home/data
        chown -R mysql:mysql /home/logs
        chmod -R 755 /home
        chmod -R 755 /home/data
        chmod -R 755 /home/logs
      
        #注意 如果上面没有配置home的访问权限,修改了配置后容器是没办法启动的。
        #检查访问权限 切换成mysql用户
        su - mysql
        #在mysql用户里面访问 /home/data目录
        cd /home/data
        #如果提示 can’t cd to /home/data  则需要返回root用户配置目录权限
        chmod -R 755 /home
      
    • 复制原有数据库文件到新的路径上
        cp -r /var/lib/mysql/* /home/data
      
    • 修改配置文件 /etc/mysql/my.cnf(版本不同有可能在不同的地方配置,根据引用的配置文件逐个查看具体配置在什么地方)
        vim /etc/mysql/my.cnf
      
    • 修改执行文件里面 /etc/init.d/mysql 的datadir 目录
        vim /etc/init.d/mysql
      
参考文献

PS

  • 由于网速问题,Docker下载需要多次尝试,双击下载失败就用url尝试,还是失败就换个时间段(比如半夜一两点)试试;
  • 文件/文件夹(NAS上的路径)与装载路径(Docker中的路径,根据Docker中实际路径进行填写,否则会映射无效)

首页 > 学习总览 > OS笔记目录