震惊!!! docker上搭建MySQL原来可以这么轻松~

1 篇文章 0 订阅
1 篇文章 0 订阅

本文简单介绍了如何快速、高效地在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并创建容器

  1. docker search mysql 搜索
  2. docker pull mysql 下载
  3. docker run -itd --name db1 -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:5.7 创建mysql容器
  4. docker ps [-a]
    docker logs db1 查看mysql容器状态

2. 修改配置文件

  1. docker cp db1:/etc/mysql /opt/从db1的容器中复制mysql的配置文件
  2. 修改/opt/mysql/mysql.conf.d/mysqld.cnf, 主的内容如下:

    [mysqld]
    character-set-server = utf8

  3. 再修改 /opt/mysql/conf.d/mysql.cnf, 内容如下:

    [mysql]
    default-character-set = utf8

  4. docker restart db1 重启 db1容器,目的是重新加载配置文件

3. 进入MySQL交互环境

  1. docker exec -it db1 mysql -uroot -proot 以root用户登录
  2. 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测试连接

  1. pip安装pymysql库

     pip install pymysql -i https://mirrors.aliyun.com/pypi/simple
    
  2. 编写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)
    
  3. 执行测试脚本

      python connect_mysql.py
    

5. PyCharm插件测试连接

  1. 下载插件:file --> settings --> Plugins --> Marketplace: database下载 Database Nagivator

  2. 使用插件通过端口号连接,选择默认数据库为MySQL
    ](https://img-blog.csdnimg.cn/20210414233723147.png#pic_center)

    Host: MySQL宿主机ip地址
    Port: 为宿主机设置的端口(数据库一般设为3306)
    User: 宿主机用户
    Pwd: 宿主机用户密码

6. 数据库基础操作及常见命令

  1. use databases;打开数据库
  2. create database aaa charset utf8; 创建数据库aaa
  3. create user 'ennis'@'%' identified by 'disen'; 创建用户
  4. grant all privileges on stu.* to 'disen'@'%'; 授权
  5. flush privileges; 刷新

总结

以上就是今天的内容,本文介绍了如何在docker上搭建MySQL以及进行连接测试, 下篇文章将更新<如何高效使用MySQL>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值