deepin中用docker安装mysql数据库

Posted 岁月染过的梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了deepin中用docker安装mysql数据库相关的知识,希望对你有一定的参考价值。

先查询MySQL源
docker search mysql
也可以去官网查看镜像tag,选择自己需要的版本,否则会下载最新版本:https://hub.docker.com/_/mysql/
然后报错了!!!

root@deepin-PC:/etc/apt# docker pull mysql:8.0.11
Error response from daemon: Get https://registry-1.docker.io/v2/library/mysql/manifests/8.0.11: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fmysql%3Apull&service=registry.docker.io: net/http: TLS handshake timeout

换成国内的镜像源
echo "DOCKER_OPTS=\\"\\$DOCKER_OPTS --registry-mirror=http://f2d6cb40.m.daocloud.io\\"" | sudo tee -a /etc/default/docker
重启docker
sudo service docker restart
再试一下

root@deepin-PC:/etc/docker# docker pull mysql:8.0.11
8.0.11: Pulling from library/mysql
be8881be8156: Pull complete 
c3995dabd1d7: Pull complete 
9931fdda3586: Pull complete 
bb1b6b6eff6a: Pull complete 
a65f125fa718: Pull complete 
2d9f8dd09be2: Pull complete 
37b912cb2afe: Pull complete 
90a9e6fd6a27: Pull complete 
959ebd3ef120: Pull complete 
5eda665eddc4: Pull complete 
d9007173a367: Pull complete 
239f4d989075: Pull complete 
Digest: sha256:ffa442557c7a350939d9cd531f77d6cbb98e868aeb4a328289e0e5469101c20e
Status: Downloaded newer image for mysql:8.0.11
docker.io/library/mysql:8.0.11

验证一下

root@deepin-PC:/etc/docker# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               8.0.11              5dbe5b6313e1        21 months ago       445MB

为docker创建一个专门放mysql 的文件夹

root@deepin-PC:/etc/docker# cd /opt/
root@deepin-PC:/opt# mkdir mysql_docker
root@deepin-PC:/opt# cd mysql_docker/
root@deepin-PC:/opt/mysql_docker# echo $PWD
/opt/mysql_docker

启动mysql容器($PWD代表当前的路径)
docker run --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/var/log/mysql -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:8.0.11
查看完整容器id
cd /var/lib/docker/containers/
查看启动的容器

root@deepin-PC:/opt/mysql_docker# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                               NAMES
1f9aa5b79b6a        mysql:latest        "docker-entrypoint.s…"   About a minute ago   Up 59 seconds       0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

进入mysql(可以用容器id替换mysql)
docker exec -it mysql bash


连接mysql
mysql -u root -p 123456
授予远程访问权限

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | root             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
5 rows in set (0.00 sec)

mysql> ALTER USER \'root\'@\'%\' IDENTIFIED WITH mysql_native_password BY \'123456\';
Query OK, 0 rows affected (0.02 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

查看docker日志:

root@deepin-PC:/opt/mysql_docker# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
1f9aa5b79b6a        mysql:latest        "docker-entrypoint.s…"   6 minutes ago       Up 6 minutes        0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
root@deepin-PC:/opt/mysql_docker# docker logs -f --tail 10 1f9aa5b79b6a
2020-05-11 14:14:30+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up.

2020-05-11T14:14:30.702850Z 0 [Warning] [MY-011070] [Server] \'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it\' is deprecated and will be removed in a future release.
2020-05-11T14:14:30.702952Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.20) starting as process 1
2020-05-11T14:14:30.712787Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-05-11T14:14:31.064937Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2020-05-11T14:14:31.191792Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: \'/var/run/mysqld/mysqlx.sock\' bind-address: \'::\' port: 33060
2020-05-11T14:14:31.284386Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2020-05-11T14:14:31.292565Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location \'/var/run/mysqld\' in the path is accessible to all OS users. Consider choosing a different directory.
2020-05-11T14:14:31.312549Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: \'8.0.20\'  socket: \'/var/run/mysqld/mysqld.sock\'  port: 3306  MySQL Community Server - GPL.

一些常用操作
先查看容器的id
docker ps -a
查到id
以下id为容器id

关闭mysql
docker stop id
重启
docker restart id
启动
docker start id
**关闭docker **
systemctl stop docker
重启docker
systemctl restart docker
查看容器ip地址
docker inspect redismaster

参考连接:https://www.cnblogs.com/qq952693358/p/6406189.html

以上是关于deepin中用docker安装mysql数据库的主要内容,如果未能解决你的问题,请参考以下文章

deepin/debian 安装docker

[deepin][docker]deepin-docker爬坑之路

Deepin系统安装mysql教程及相关操作

Deepin 20.2.1 安装 MS SQL 2019 容器版本

手把手教你在Linux(Deepin)安装MySQL和MariaDB

手把手教你在Linux(Deepin)安装MySQL和MariaDB