跳到主要内容

docker运行mariadb

1、 拉取镜像

首先去Docker Hub找到并拉取自己需要的MariaDB版本镜像,例如:

docker pull mariadb:10.3.29

2、 启动容器

docker run -d -p 3307:3306 -v /data/mariadb/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mariadb mariadb:10.3.29

各参数含义:

-v /data/mariadb/:/var/lib/mysql 将宿主机mariadb文件夹挂载到容器mysql文件夹,用来将数据保存到宿主机

-p 3307:3306 将容器的3306端口映射到宿主机的3307端口

-e MYSQL_ROOT_PASSWORD=root 设置数据库的root密码

3、 宿主机登录mysql的两种方式

mysql -h127.0.0.1 -uroot -proot
mysql -h10.10.1.1 -uroot -proot

注意: 登录到数据库容器需要添加-h+ip,ip不能使用localhost:

区别是mysql在使用-h+localhost选择使用的连接方式为unix-socket,而你没有在mysql的配置文件中启用:socket=/var/run/mysqld/mysqld.sock,导致这个文件不存在而使连接失败;而-h+ip的形式使用的是tcp-socket