0


docker || 启动mysql容器

第1步:拉取mysql镜像。

[root@docker ~]# docker pull mysql:5.7.41

第2步:启动mysql容器。

[root@docker ~]# docker run -d --name sc-mysql-1 -p 33060:3306 -e MYSQL_ROOT_PASSWORD='sc123456' mysql:5.7.41

5a758962f18df44b0d8c8377b9652bfb791690fa0d15b495f3377ea73dca1463

[root@docker ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

5a758962f18d mysql:5.7.41 "docker-entrypoint.s…" 3 seconds ago Up 2 seconds 33060/tcp, 0.0.0.0:33060->3306/tcp, :::33060->3306/tcp sc-mysql-1

[root@docker ~]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

mysql 5.7.41 0018a8d83892 11 hours ago 455MB

[root@docker ~]# netstat -anplut|grep 3306

tcp 0 0 0.0.0.0:33060 0.0.0.0:* LISTEN 11118/docker-proxy

tcp6 0 0 :::33060 :::* LISTEN 11123/docker-proxy

docker-proxy 是docker底层帮助宿主机和容器之间网络通信的,做端口映射。

第3步:进入容器内部;在容器内部登录mysql服务。

[root@docker ~]# docker exec -it sc-mysql-1 bash

bash-4.2# ls

bin dev entrypoint.sh home lib64 mnt proc run srv tmp var

boot docker-entrypoint-initdb.d etc lib media opt root sbin sys usr

bash-4.2# cat /etc/issue

\S

Kernel \r on an \m

bash-4.2# mysql -uroot -p'sc123456'

mysql: [Warning] Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.7.41 MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

+--------------------+

4 rows in set (0.00 sec)

mysql> create database sanchuang;

Query OK, 1 row affected (0.00 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sanchuang |

| sys |

+--------------------+

5 rows in set (0.01 sec)

mysql> show tables;

+---------------------+

| Tables_in_sanchuang |

+---------------------+

| t1 |

+---------------------+

1 row in set (0.00 sec)

mysql> exit

Bye


在宿主机上安装mariadb和mariadb-server

[root@docker ~]# yum install mariadb mariadb-server -y

mysql -h 192.168.102.136 -P33060 -uroot -p'sc123456'

-h 192.168.223.131 指定远程连接的mysql服务器的ip地址 host

-P 指定端口 port

-p 指定密码 password

-u 指定用户名 user

[root@MySQL ~]# mysql -h 192.168.102.136 -P33060 -uroot -p'sc123456'

mysql: [Warning] Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 7

Server version: 5.7.41 MySQL Community Server (GPL)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@(none) 16:18 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

root@mysql 16:19 mysql>select user,host from user;

+---------------+-----------+

| user | host |

+---------------+-----------+

| root | % |

| mysql.session | localhost |

| mysql.sys | localhost |

| root | localhost |

+---------------+-----------+

4 rows in set (0.00 sec)

root@mysql 16:19 mysql>create user 'wjl'@'%'identified by 'sc123456';

Query OK, 0 rows affected (0.00 sec)

root@mysql 16:20 mysql>grant all on . to 'wjl'@'%';

Query OK, 0 rows affected (0.00 sec)

root@mysql 16:20 mysql>

grant 是mysql里的授权的命令

all 所有的权限: select insert update delete等

on . 在所有的库里的所有的表都可以操作 第一个表示库 第2个表示表

MySQL [mysql]> create database sanchuang;

Query OK, 1 row affected (0.00 sec)

MySQL [mysql]> use sanchuang

Database changed

MySQL [sanchuang]> create table t1(id int);

Query OK, 0 rows affected (0.02 sec)

进入容器内部进行查看文件夹和文件

[root@docker ~]# docker exec -it sc-mysql-1 bash

exec 执行

-it 开启一个交互式的终端,进行操作

interaction terminal

sc-mysql-1 容器的名字

bash 进入容器里面执行的程序

bash-4.2# cd /var/lib/mysql

bash-4.2# ls

auto.cnf client-cert.pem ib_logfile0 ibtmp1 performance_schema sanchuang sys

ca-key.pem client-key.pem ib_logfile1 mysql private_key.pem server-cert.pem

ca.pem ib_buffer_pool ibdata1 mysql.sock public_key.pem server-key.pem

bash-4.2# ls sanchuang/

db.opt t1.frm t1.ibd

bash-4.2#


在Ubuntu的机器上远程登录容器的mysql

wei@docker:~$ sudo mysql -h 192.168.102.136 -P33060 -uroot -p'sc123456'

[sudo] password for wei:

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MySQL connection id is 12

Server version: 5.7.41 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sanchuang |

| sys |

+--------------------+

5 rows in set (0.003 sec)

MySQL [(none)]>

标签: linux

本文转载自: https://blog.csdn.net/qq_60271706/article/details/129630433
版权归原作者 韩未零 所有, 如有侵权,请联系我们删除。

“docker || 启动mysql容器”的评论:

还没有评论