码迷,mamicode.com
首页 > 数据库 > 详细

docker部署mysql

时间:2019-12-27 23:34:51      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:还需要   ini   ase   databases   doc   映射   部署   system   mysqld   

搭建mysql环境

1 下载mysql镜像

docker pull mysql:5.7

2 运行刚下载的mysql镜像文件

# 运行该命令之前可以使用`docker images`是否下载成功

docker run -p 3307:3306 --name mysql5.7 -v /mysql/conf:/etc/mysql/conf.d -v /mysql/logs:/logs -v /mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123 -itd  mysql:5.7

上面的意思是将mysql在后台启动运行, 并且这个mysql是运行在宿主机3307端口上的,等会django连接的也是这个端口, --name 是将这个mysql应用取了个别名。3个-v是指定容器中的mysql的相关文件路径与宿主机路径的映射关系,这样便能通过修改宿主机的配置文件而达到修改容器中的mysql的配置了。-e 指定的是进入容器后的mysql的初始密码为123。

3 远程连接mysql

$ mysql -uroot -p123 -h 服务器ip地址 -P 3307

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.04 sec)

# 上面可以登陆上, 也能正常查看数据库。但是数据库的默认编码方式还需要修改
mysql> show global variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.03 sec)

4 修改服务器的配置文件

vim /mysql/conf/mysql.cnf

[client]
default-character-set = utf8
[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
init_connect='SET NAMES utf8'
lower_case_table_names = 1
slow_query_log_file = /logs/slow.log
[mysql]
default-character-set = utf8

上面的配置主要是修改默认的编码方式,其他更加详细的配置可以参考

  1. 参考1
  2. 参考2

重启mysql服务

docker restart mysql5.7
修改后具体的结果如下所示:
mysql> show global variables like '%char%';
+--------------------------+----------------------------+
| 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.04 sec)

docker部署mysql

标签:还需要   ini   ase   databases   doc   映射   部署   system   mysqld   

原文地址:https://www.cnblogs.com/yscl/p/12109990.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!