代码改变世界

dcoker+mysql+安装

2022-08-27 11:28  ly772186472  阅读(27)  评论(0)    收藏  举报

1:通过docker ps 指令查看启动状态
    docker ps -a | grep mysql
-a :显示所有的容器,包括未运行的。
grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具
ps 附件
1:拉去指定版本
docker pull mysql:5.7
2:查看是否存在 
docker images
3:第一次运行命令:
docker run -d -p 3306:3306 --name mysql -v /home/mysql/log:/var/log/mysql -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

有问题的话:

docker run -d -p 3306:3306 --privileged=true -v /home/mysql/log:/var/log/mysql -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7

卸载后 

docker run:在docker中启动一个容器实例
-d:该容器在后台运行
-p 3306:3306:容器与主机映射端口为,主机3306,容器3306
--name mysql:容器运行后的名称
-v /hoem/mysqldata/mysql/log:/var/log/mysql:将容器/var/log/mysql目录下的数据,备份到主机的 /home/mysqldata/mysql/log目录下
-v /home/mysqldata/mysql/data:/var/lib/mysql:将容器/var/lib/mysql目录下的数据,备份到主机的 /home/mysqldata/mysql/data目录下
-v /home/mysqldata/mysql/conf:/etc/mysql:将容器/etc/mysql目录下的数据,备份到主机的 home/mysqldata/mysql/conf目录下
-e MYSQL_ROOT_PASSWORD=123456:设置当前mysql实例的密码为123456
mysql:5.7.39:需要运行的容器名称以及版本号
4: 重启mysql

docker restart  mysql
5:进入容器内部(mysql_Docker为容器名字)
docker exec -it mysql_Docker bash
6:登录进mysql
mysql -u root -p
7.给用于授予权限
grant all privileges on . to ‘root’@’%’ ;
8:刷新权限
flush privileges;

注意点:
home/mysqldata/mysql/conf目录下
创建 my.cnf文件  
touch my.cnf
使用vim命令对 my.cnf文件添加如下内容,在docker中安装的mysql默认字符集是latin1,需要改成utf8

[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

按esc,输入:wq!,保存退出

docker restart mysql

 

1:进入官网 https://hub.docker.com/

搜 mysql

2.点击标签

 

 

 3.点击Tags,查看想要的版本号

 

 

 在安装好docker的linux中执行命令
拉取mysql最新版本

docker pull mysql

拉取mysql指定版本

docker pull mysql:5.7

运行mysql

docker run -d -p 3306:3306 --name mysql -v /mysqldata/mysql/log:/var/log/mysql -v /mysqldata/mysql/data:/var/lib/mysql -v /mysqldata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7

上述命令的含义:
docker run:在docker中启动一个容器实例
-d:该容器在后台运行
-p 3306:3306:容器与主机映射端口为,主机3306,容器3306
--name mysql:容器运行后的名称
-v /mysqldata/mysql/log:/var/log/mysql:将容器/var/log/mysql目录下的数据,备份到主机的 /mysqldata/mysql/log目录下
-v /mysqldata/mysql/data:/var/lib/mysql:将容器/var/lib/mysql目录下的数据,备份到主机的 /mysqldata/mysql/data目录下
-v /mysqldata/mysql/conf:/etc/mysql:将容器/etc/mysql目录下的数据,备份到主机的 mysqldata/mysql/conf目录下
-e MYSQL_ROOT_PASSWORD=root:设置当前mysql实例的密码为root
mysql:5.7:需要运行的容器名称以及版本号

通过此处-v 命令备份后,就算当前mysql容器实例被删除,那么再次重启mysql容器后,数据将会自动重主机加载到容器当中

切换到上述命令配置的主机/mysqldata/mysql/conf目录下
cd /mysqldata/mysql/conf

touch my.cnf

使用vim命令对 my.cnf文件添加如下内容,在docker中安装的mysql默认字符集是latin1,需要改成utf8

 

[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

按esc,输入:wq!,保存退出

 

 重启mysql容器实例,让刚才的配置文件生效

docker restart mysql

查看是否启动成功

docker ps