ubuntu下在docker中如何安装mysql5.6

84次阅读
没有评论

共计 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 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-16发表,共计4188字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)