共計 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 問一下細節