博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用docker安装mysql服务
阅读量:6660 次
发布时间:2019-06-25

本文共 2162 字,大约阅读时间需要 7 分钟。

使用docker官方镜像安装mysql服务

1 拉取mysql镜像,采用网易加速地址

docker pull hub.c.163.com/library/mysql:5.7

2 重命名镜像名

docker tag hub.c.163.com/library/mysql:5.7 mysql:5.7

3. 创建用于挂载的目录

[root@WSyHRQ171356 mysql]# mkdir -p /mysql/datadir /mysql/conf.d

/mysql/datadir #用于挂载mysql数据文件

/mysql/conf.d #用于挂载mysql配置文件

4. 使用镜像创建容器

[root@WSyHRQ171356 mysql]# docker run -d -p 3306:3306 --name mysql -v /mysql/datadir:/var/lib/mysql -v /mysql/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=mysql密码 mysql:5.7

命令解析:

-d:后台运行容器

-p:映射宿主主机端口

--name:容器名

-v:挂载宿主目录到容器目录

-e:设置环境变量,此处指定root密码

 

5. 设置mysql默认编码

[root@WSyHRQ171356 mysql]# vi /mysql/conf.d/my.cnf

内容如下:

[mysql]default-character-set = utf8[mysqld]default-time-zone=timezonedefault-time-zone = '+8:00'skip-name-resolve #跳过DNS解析,加快远程连接速度character_set_server=utf8init_connect='SET NAMES utf8'sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

6. 重启mysql

[root@WSyHRQ171356 mysql]# docker restart mysql

7. 进入mysql查询编码

[root@WSyHRQ171356 mysql]# docker exec -it mysql bash
root@29ac5990c680:/# mysql -uroot -p
mysql> show variables like 'character%';+--------------------------+----------------------------+| 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)

 

8. 创建mysql远程用户

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

 

9. 刷新生效

flush privileges;

 

10. 最后回到主机重启mysql即可

mysql> quitByeroot@29ac5990c680:/# exit[root@WSyHRQ171356 mysql]# docker restart mysqlmysql[root@WSyHRQ171356 mysql]#

 

转载于:https://www.cnblogs.com/007sx/p/9964917.html

你可能感兴趣的文章
一sqlite分页 语句,
查看>>
SQL Server 2005锁的问题
查看>>
pythoning——9:python文件操作
查看>>
Sqlite in Android
查看>>
在 Asp.NET MVC 中使用 SignalR 实现推送功能
查看>>
hdu4633_Polya定理
查看>>
如何解决linQ“序列不包含任何元素”的问题?
查看>>
python(leetcode)-1.两数之和
查看>>
用Oracle11g创建序列后插入数据的初始值老是从2开始
查看>>
运行SQL Developer时候出现java.lang.NoClassDefFoundError:com.sun.jdi.Bootstrap
查看>>
异常分析
查看>>
运维监控-Zabbix Server 使用QQ SMTP发送邮件报警及定制报警内容
查看>>
我原来的博客
查看>>
Netty
查看>>
你确定你是一个合格的.Net开发人员吗?
查看>>
分享/收藏/设为主页/搜索
查看>>
Android 监听屏幕锁屏,用户解锁
查看>>
css文本超出2行就隐藏并且显示省略号
查看>>
C++沉思录--代理类
查看>>
ios开发第三方库
查看>>