docker配置MySQL5.7,并挂载
v 卷挂载 (容器外目录:容器内目录)这儿我们对数据目录、配置文件目录和日志目录进行了挂载,类似这些需要被持久化的数据,需要的存储至容器外,避免容器删除后数据的丢失。--name mysqltest 设置该容器的名称,这儿是自定义,可以自由备注。--restart=always 设置开机重启。-p 设置端口号映射,容器外端口:容器内端口。以上是安装指令脚本,下面对各个配置进行讲解。-e msyql
·
MySQL安装
1、拉取最新的MYSQL镜像
docker pull mysql:5.7
2、镜像查看与删除
#查看镜像
docker images
#删除镜像
docker rmi hello-world
#查看运行的容器
docker ps
#停止容器
docker stop mysql
#查看所有容器 包括已经停止的
docker ps -a
#删除容器
docker rm mysql
3、创建MySQL容器
3.1 挂载本地目录
- 创建本地MySQL映射目录
mkdir -p /home/mysql/data /home/mysql/logs /home/mysql/conf
- 在/root/mysql/conf中创建 *.cnf 文件
cd /home/mysql/conf
touch my.cnf
- 创建容器,将数据,日志,配置文件映射到本机
docker run -p 3306:3306 --name mysql -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/logs:/logs -v /home/mysql/data:/var/lib/mysql -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=root -d --restart=always mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --lower_case_table_names=1
以上是安装指令脚本,下面对各个配置进行讲解
-d 后台运行
--restart=always 设置开机重启
--name mysqltest 设置该容器的名称,这儿是自定义,可以自由备注
-p 设置端口号映射,容器外端口:容器内端口
-v 卷挂载 (容器外目录:容器内目录)这儿我们对数据目录、配置文件目录和日志目录进行了挂载,类似这些需要被持久化的数据,需要的存储至容器外,避免容器删除后数据的丢失
-e msyql的环境配置
MySQL设置远程访问
-
进入容器
docker exec -it mysql /bin/bash
-
进入MySQL
mysql -uroot -p123456
-
若报错
若报错Access denied for user 'root'@'localhost' (using password: YES) 则进行以下步骤: 在my.cnf文件的[mysqld]这个条目下加入skip-grant-tables保存退出后重启mysql。这句话的意思是跳过验证阶段,在数据库容器中输入mysql -u root -p后,在输入密码的时候可以直接敲回车进入数据库操作界面。 在终端输入doker exec -it mysql /bin/bash进入到mysql容器的交互命令端。 在mysql容器交互命令端输入mysql -u root -p后,在输入密码的时候直接敲回车,进入数据库命令交互端。 进入数据库命令交互端后,依次进行以下操作。 第一步,选择名为mysql的数据库 mysql> use mysql; 第二步,为root用户设置密码 mysql> update user set password=password("新密码") where user="root"; #mysql5.7版之前 mysql> update mysql.user set authentication_string=password('新密码') where user='root'; #mysql5.7版及之后 第三步,刷新数据库 mysql> flush privileges; 第四步,退出数据库 mysql> quit; 将my.cnf文件的[mysqld]这个条目下的skip-grant-tables删除,保存退出后重启mysql 再用数据库连接工具进行测试,发现可以成功连接
-
若未报错
#设置mysql远程权限 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #刷新权限 flush privileges;
更多推荐
已为社区贡献1条内容
所有评论(0)