Centos下使用Docker安装MariaDB(亲测成功!)
记一次Cetnos下安装MariaDB。
前言:
准备工作:
- shell工具:FinalShell(免费好用)。
- Linux下安装有Dokcer。
- 拉取MariaDB镜像,我们不急着去创建容器。
// 拉取 MariaDB 镜像 docker pull mariadb
添加my.cnf配置文件
配置文件名称一定是
my.cnf
。
设置两个映射路径:我是设置在/home/mariadb
下的。
- 在
/home/mariadb
下创建两个文件夹,完整路径分别为/home/mariadb/data
和/home/mariadb/config
。 - 其中
/home/mariadb/config
比较重要,这个要用来映射MariaDB的配置文件。 - 在
/home/mariadb/config
中创建my.cnf
文件并且写入以下内容。 - 其中
skip-grant-tables
比较重要,影响到后面修改mysql.user表。[client] default-character-set = utf8 port = 3306 [mysql] port = 3306 default-character-set = utf8 [mysqld] default-storage-engine = InnoDB skip-name-resolve skip-host-cache skip-grant-tables skip-external-locking max_connections = 2000 max_allowed_packet = 64M table_open_cache = 2048
创建容器
-v 宿主机路径和容器内路径的映射
-
创建一个3306端口、root密码为123456、名字为mariadb的容器。
配置文件的映射目录为:-v /home/mariadb/config:/etc/mysql/
docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /home/mariadb/data:/var/lib/mysql -v /home/mariadb/config:/etc/mysql/ -d mariadb
进入容器设置MariaDB
-
进入容器内部
// 该指令是从宿主机进入容器内部的命令 docker exec -it mariadb bash
-
进入mysql命令行模式
mysql -uroot -p123456
-
设置root用户可远程连接
// 如果是其他用户,将root更换成目标用户 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; // 刷新权限 flush privileges;
后记
参考文章: