linux怎么查看本机内存大小
266
2022-10-18
使用Docker安装mysql并连接
1.查找镜像:
docker search mysql
也可以去官网查看镜像tag,选择自己需要的版本,否则会下载最新版本:指定版本安装命令 : docker pull mysql:5.7.35 不指定命令,直接安装最新版是这个命令 : docker pull mysql
[root@zjj101 ~]# docker pull mysql:5.7.355.7.35: Pulling from library/mysql07aded7c29c6: Pull completef68b8cbd22de: Pull complete30c1754a28c4: Pull complete1b7cb4d6fe05: Pull complete79a41dc56b9a: Pull complete00a75e3842fb: Pull completeb36a6919c217: Pull complete5e11fe494f45: Pull complete9c7de1f889a7: Pull completecf6a13d05a76: Pull completefc5aa81f393a: Pull completeDigest: sha256:360c7488c2b5d112804a74cd272d1070d264eef4812d9a9cc6b8ed68c3546189Status: Downloaded newer image for mysql:5.7.35docker.io/library/mysql:5.7.35[root@zjj101 ~]#
3.挂载数据以及配置文件
# 运行mysql命名容器名称为mysql-service并且设置root账号初始密码为rootdocker run -d -p 3306:3306 --name mysql-service -e MYSQL_ROOT_PASSWORD="root" mysql也可以根据image id去进行更新,44241dbd4d38是容器iddocker run -d -p 3306:3306 --name mysql-service -e MYSQL_ROOT_PASSWORD="root" 44241dbd4d38
进入Docker内部
docker exec -it mysql-service bash
确定Docker内 MySQL 文件相关路径
# 查找Docker内,MySQL配置文件my.cnf的位置mysql --help | grep my.cnf
创建本地路径并挂载Docker内数据
# 创建Linux本地文件夹mkdir -p /root/docker/mysql/conf && mkdir -p /root/docker/mysql/data# 将测试容器里 MySQL 的配置文件复制到该路径。日后需改配置,直接在挂载路径的配置文件上修改即可 # mysql-service:/etc/mysql/my.cnf 是docker内部的文件夹# /root/docker/mysql/conf 是你Linux宿主机的文件夹docker cp mysql-service:/etc/mysql/my.cnf /root/docker/mysql/conf
4.创建 MySQL 容器并启动
将上面创建的mysql容器删除掉,重新创建一个
44241dbd4d38 是容器的containerid
docker run --name mysql-server \-p 3306:3306 -e MYSQL_ROOT_PASSWORD=root \--mount type=bind,src=/root/docker/mysql/conf/my.cnf,dst=/etc/mysql/my.cnf \--mount type=bind,src=/root/docker/mysql/data,dst=/var/lib/mysql \--restart=on-failure:3 \-d 44241dbd4d38
如果上面不行试试下面的
# 最后-d 可以跟镜像iddocker run --name mysql-server \-p 3306:3306 -e MYSQL_ROOT_PASSWORD=root \--mount type=bind,src=/root/docker/mysql/conf/my.cnf,dst=/etc/mysql/my.cnf \--mount type=bind,src=/root/docker/mysql/data,dst=/var/lib/mysql \--restart=on-failure:3 \-d mysql
说明:
–name:为容器指定一个名字-p:指定端口映射,格式为:主机(宿主)端口:容器端口-e:username=“xxx”,设置环境变量–restart=on-failure:3:是指容器在未来出现异常退出(退出码非0)的情况下循环重启3次-mount:绑定挂载-d:后台运行容器,并返回容器 id
其它
1.修改远程访问
如果软件连不上数据库的话
进入Docker的MySQL内部容器里面, 输入 mysql --help | grep my.cnf 命令 ,可以查找到my.cnf文件位置
root@dc11a462d290:/# mysql --help | grep my.cnf order of preference, my.cnf, $MYSQL_TCP_PORT,/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
直接修改 my.cnf
添加配置 : bind-address =0.0.0.0
[mysqld]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdatadir = /var/lib/mysqlsecure-file-priv= NULLbind-address =0.0.0.0# Custom config should go here!includedir /etc/mysql/conf.d/
保存重启mysql
2.2059错误
# 修改加密规则ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;# 更新密码,一定要做这一步骤,哪怕不修改密码ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; # 刷新配置FLUSH PRIVILEGES;
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~