由于操作系统切换为ArchLinux,pacman软件仓库中的MySQL变成了Mariadb,版本为10,平日开发中使用的MySQL版本为5.7,为了后续的开发方便,使用Docker容器安装一个MySQL,操作步骤如下:

  1. Docker拉取5.7版本的MySQL镜像,有的用户需要加sudo

    1
    docker pull mysql:5.7
  2. 在我用户目录下有个devel文件夹,这个可以自选。执行如下命令,创建mysql文件夹,内部包含三个文件夹,分别是conf:存放配置,data:存放数据,logs:存放日志

    1
    cd ~/devel && mkdir -p mysql/conf mysql/data mysql/logs
  3. 设置utf8编码,logbin,东八时区

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    echo \ 
    '[mysqld]
    character_set_server = utf8
    server-id = 1
    log_bin = /var/lib/mysql/mysql-bin.log
    default-time_zone = '+8:00'
    [mysql]
    default-character-set = utf8
    [client]
    default-character-set = utf8' \
    >> ~/devel/mysql/conf/my.cnf
  4. 创建MySQL容器,挂载配置、数据、日志,绑定端口,设置密码:root,容器名称为:mysql

    1
    2
    cd ~/devel/mysql && \
    docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/var/log/mysql -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
  5. 使用MySQL管理工具,我这里使用的是DBeaver,连接数据库,地址为localhost,用户名密码均为root,测试是否连接正常,连接成功后查看MySQL编码是否为utf8,如果都正常,安装完毕!

  6. 开机后docker内部容器不会自动启动,需要手动开启MySQL

    1
    docker start mysql