共计 4188 个字符,预计需要花费 11 分钟才能阅读完成。
自动写代码机器人,免费开通
丸趣 TV 小编给大家分享一下 ubuntu 下在 docker 中如何安装 mysql5.6,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1. 安装 mysql5.6
docker run mysql:5.6
等所有项目都是 Download complet 安装完毕
5.6: Pulling from library/mysql
10a267c67f42: Pull complete
c2dcc7bb2a88: Pull complete
17e7a0445698: Pull complete
9a61839a176f: Pull complete
d4657fda01d9: Pull complete
c5278a445e5d: Pull complete
197c0b76f238: Pull complete
f54c5432bac4: Pull complete
c26b15abee8a: Pull complete
80dbe6022c18: Pull complete
435678c09612: Pull complete
Digest: sha256:84372107beb1de34bd4673049ea61bc35f374a2b4f19fd5a3abd4d0a2a50b715
Status: Downloaded newer image for mysql:5.6
error: database is uninitialized and password option is not specified
You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
2. 使用本地账号创建一个文件夹用来映射 docker 中 mysql 的配置文件
其中继续创建 conf、data、logs 3 个文件夹
我的配置如下
val@val-linux:~/docker/mysql1$ pwd
/home/val/docker/mysql1
val@val-linux:~/docker/mysql1$ ls
conf data logs
3. 创建 mysql 容器
切换到 root 账号进入到刚才创建的 mysql1 文件夹中
root@val-linux:/home/val# cd /home/val/docker/mysql1/
root@val-linux:/home/val/docker/mysql1#
创建并启动容器
docker run -p 33061:3306 --name mysql1 -v $PWD/conf:/etc/mysql -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.61
用本地 33061 端口映射 docker 的 3306 端口
给容器命名 mysql1
用本地 /home/val/docker/mysql1/conf 映射 mysql 的 conf
用本地 /home/val/docker/mysql1/logs 映射 mysql 的 logs
用本地 /home/val/docker/mysql1/data 映射 mysql 的 mysql_data
给 root 设置密码 123456
4. 启动 mysql 容器
docker start mysql11
5. 进入 mysql 的 bash
docker exec -it mysql1 env LANG=C.UTF-8 bash
其中 env LANG=C.UTF-8 bash 让 docker 命令行支持中文
6. 复制配置文件
cp /usr/my.cnf /etc/mysql/my.cnf
7. 登录 mysql
mysql -u root -p
输入密码进入
8. 查看 mysql 编码
mysql show variables like %character%
+--------------------------+----------------------------+
| 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.01 sec)
发现不是 utf- 8 编码
9. 修改 mysql 编码
退出 mysql,退出 docker
mysql exit
root@8b83a30acbf8:/# exit
root@val-linux:/home/val/docker/mysql1#
修改 my.cnf 配置文件
root@val-linux:/home/val/docker/mysql1# vim conf/my.cnf
按 i 进入编辑模式
加入
[client] default-character-set=utf8
[mysql] default-character-set=utf8
[mysqld] character-set-server=utf8 1
esc :wq! 保存退出
10. 重启 docker 的 mysql 再次查看编码
root@val-linux:/home/val/docker/mysql1# docker stop mysql1 mysql1 root@val-linux:/home/val/docker/mysql1# docker start mysql1 mysql1 root@val-linux:/home/val/docker/mysql1#docker exec -it mysql1 env LANG=C.UTF-8 bash
root@8b83a30acbf8:/#mysql -u root -p
Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.36 MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. 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 variables like %character% +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec)
11. 创建数据库
mysql create database rise;
Query OK, 1 row affected (0.00 sec)
mysql use rise;
Database changed
12. 创建用户并授权
mysql grant all privileges on rise.* to val@ % identified by 123456
Query OK, 0 rows affected (0.00 sec)
mysql flush privileges;
Query OK, 0 rows affected (0.00 sec)
% 表示任意 IP(可以指定 IP)、val 是用户名、123456 是密码
以上是“ubuntu 下在 docker 中如何安装 mysql5.6”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!
向 AI 问一下细节