本文简单介绍了如何快速、高效地在docker上搭建MySQL,以及用两种方式进行连接测试。
以下是往期回顾:
Python常见面试题汇总
GitHub个人博客【其中有详细的LeetCode解题思路及归档】
文章目录
# 前言
Docker是虚拟化的容器服务,镜像在Docker上运行后生成容器。普通虚拟机将整个操作系统运行在虚拟的硬件平台上,进而提供完整的运行环境供应用程序运行,而Docker则直接在宿主平台上加载运行应用程序.本质上他在底层使用LXC启动一个Linux Container,通过cgroup等机制对不同的container内运行的应用程序进行隔离,权限管理和quota分配等每个container拥有自己独立的各种命名空间(亦即资源)包括:PID进程, MNT文件系统, NET网络, IPC, UTS主机名等。
通过云提供的一种此类服务是基础架构即服务(IaaS),它通常通过Internet将虚拟化的计算资源交付给组织。 IaaS以及软件 即 服务 ( SaaS )和平台 即 服务 ( PaaS )是云服务的主要类型之一。
基于docker的MySQL搭建及测试
1. 下载MySQL并创建容器
docker search mysql
搜索docker pull mysql
下载docker run -itd --name db1 -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:5.7
创建mysql容器docker ps [-a]
docker logs db1
查看mysql容器状态
2. 修改配置文件
docker cp db1:/etc/mysql /opt/
从db1的容器中复制mysql的配置文件- 修改/opt/mysql/mysql.conf.d/mysqld.cnf, 主的内容如下:
[mysqld]
character-set-server = utf8 - 再修改 /opt/mysql/conf.d/mysql.cnf, 内容如下:
[mysql]
default-character-set = utf8 docker restart db1
重启 db1容器,目的是重新加载配置文件
3. 进入MySQL交互环境
docker exec -it db1 mysql -uroot -proot
以root用户登录- mysql>
show variables like '%character%';
sql语句
±-------------------------±---------------------------+
| Variable_name | Value |
±-------------------------±---------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
±-------------------------±---------------------------+
8 rows in set (0.00 sec)
4. pymysql测试连接
-
pip安装pymysql库
pip install pymysql -i https://mirrors.aliyun.com/pypi/simple
-
编写connect_mysql.py
from pymysql import Connect conn = Connect(host='10.36.174.67', port=3306, user='root', passwd='root', db='mysql', charset='utf8') print('--connect OK--') with conn.cursor() as c: c.execute('select user,host from user') for row in c.fetchall(): print(row)
-
执行测试脚本
python connect_mysql.py
5. PyCharm插件测试连接
-
下载插件:
file --> settings --> Plugins --> Marketplace: database
下载 Database Nagivator -
使用插件通过端口号连接,选择默认数据库为MySQL
Host: MySQL宿主机ip地址
Port: 为宿主机设置的端口(数据库一般设为3306)
User: 宿主机用户
Pwd: 宿主机用户密码
6. 数据库基础操作及常见命令
use databases;
打开数据库create database aaa charset utf8;
创建数据库aaacreate user 'ennis'@'%' identified by 'disen';
创建用户grant all privileges on stu.* to 'disen'@'%';
授权flush privileges;
刷新
总结
以上就是今天的内容,本文介绍了如何在docker上搭建MySQL以及进行连接测试, 下篇文章将更新<如何高效使用MySQL>