第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)
进入容器内部进行查看文件夹和文件文章来源:https://www.toymoban.com/news/detail-466639.html
exec 执行
-it 开启一个交互式的终端,进行操作
interaction terminal
sc-mysql-1 容器的名字
bash 进入容器里面执行的程序
[root@docker ~]# docker exec -it 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文章来源地址https://www.toymoban.com/news/detail-466639.html
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)]>
到了这里,关于docker || 启动mysql容器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!