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