时间:2021-07-01 10:21:17 帮助过:6人阅读
5、docker运行命令相关参数
–name:容器名,此处命名为mysql -e:配置信息,此处配置mysql的root用户的登陆密码 -p:端口映射,此处映射 主机3306端口 到 容器的3306端口 -d:源镜像名,此处为 mysql -v:主机和容器的目录映射关系,":"前为主机目录,之后为容器目录
不建立目录映射 docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql 建立目录映射
docker run -p 3306:3306 --name mysql \
-v /software/mysql/conf:/etc/mysql \
-v /software/mysql/logs:/var/log/mysql \
-v /software/mysql/data:/var/lib/mysql \
-v /software/mysql/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql
6、使用目录映射
7、查看运行
docker ps
8、进入容器控制台
docker exec -it mysql bash
docker exec :在运行的容器中执行命令
语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
9、进入数据库,没有密码
mysql -h 127.0.0.1 -u root -p
10、查询mysql版本
select version();
11、修改用户名
ALTER user ‘root‘@‘localhost‘ IDENTIFIED BY ‘Test1234567!‘
12、查看用户名、密码
select host,user,authentication_string from mysql.user;
13、修改访问
update mysql.user set host=‘%‘ where user=‘root‘;
14、查看docker 信息
docker inspect mysql
15、创建远程访问用户
创建用户 create user test@‘%‘ identified by ‘Test1234567!‘; 授权 grant all privileges on *.* to test@‘%‘ with grant option; 刷新 flush privileges;
报错
因为mysql8使用的是caching_sha2_password加密规则,最简单的方法是修改远程连接用户的加密规则: ALTER USER ‘test‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘Test1234567!‘;
16、成功连接
错误:
mysqld: Error on realpath() on ‘/var/lib/mysql-files‘ (Error 2 - No such file or director
解决方法:
当指定了外部配置文件与外部存储路径时,也需要指定 /var/lib/mysql-files的外部目录,
所以在主机新建/software/mysql/mysql-files目录,
在启动容器时 需要加上
-v /software/mysql/mysql-files:/var/lib/mysql-files \
Docker安装Mysql
标签:命名 ima docker run data director option etc alter