Docker安装mysql5.6.46

mac2024-03-17  28

1、docker hub 上查找mysql镜像 

2、在docker hub上(阿里云加速器)拉取mysql镜像到本地标签为5.6

3、使用mysql5.6创建容器(也叫运行镜像)

docker run --name mysql -p 3306:3306 -v /home/mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d  docker.io/mysql:5.6 

 解析:--name   给容器取名字为mysql

           -p   端口1:端口2      端口1是对外暴露的端口(即你用sqlYog连接的端口),端口2 使我们的mysql端口

           -e MYSQL_ROOT_PASSWORD=密码   即root用户的密码

           -d mysql:5.6     代表后台运行我们的mysql

-v /mysql/data:/var/lib/mysql   代表将宿主机/mysql/data  挂载到 mysql容器的/var/lib/mysql

  /mysql/data 这个目录是我们虚拟机的地址,不用建,启动成功自动生成 

 

 

 

6 导入sql:

 mysql -h localhost -u root -p lxhtest < /var/lib/mysql/lxh_shuguantest.sql --default-character-set=utf8

7导出镜像

docker save docker.io/mysql -o mysql5.6.46.tar

 

 

mysql -uroot -p

设置外网可访问

grant all on data_manage.* to 'root'@'%' identified by '123456' with grant option; flush privileges; 修改乱码: ALTER DATABASE `data_manage` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

GRANT ALL PRIVILEGES ON *.* TO root @'%' IDENTIFIED BY "mypassword";-- % 表示所有的IP都能访问,也可以修改为专属的 -- mypassword 为连接密码 需要修改为你自己的 FLUSH PRIVILEGES; 

 

version: '3' services: maria: image: mariadb ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD= - MYSQL_DATABASE= - MYSQL_USER= - MYSQL_PASSWORD= volumes: # 直接指定宿主机的localtime和docker的localtime即可 - /etc/localtime:/etc/localtime 或者用命令行的话 添加参数-v /etc/localtime:/etc/localtime

Docker-设置Mysql官方容器时区

 

docker run --name changle-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=changle@1999 -e MYSQL_DATABASE=changle -e TZ=Asia/Shanghai -d mysql:5.6 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-time_zone='+8:00'

参数说明:

MYSQL_ROOT_PASSWORD : 设置mysql数据库root的密码 MYSQL_DATABASE : 启动时创建数据库 TZ=Asia/shanghai : 设置容器时区 character-set-server : 服务器字符集,在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。 character-set-database : 数据库字符集 character-set-table : 数据库表字符集 collation-server : 排序规则字符集 default-time_zone : mysql的时区  

最新回复(0)