docker安裝mysql(v5.6 v5.7 v8)

1.mysql5.6版本

1.1拉取鏡像

docker pull mysql:5.6

1.2創建掛載目錄

創建目錄mysql,用於存放後面的相關東西。

mkdir -p /opt/mysql/data /opt/mysql/logs /opt/mysql/conf

1.3創建docker容器

docker run -d --name mysql \
      -v /opt/mysql/data:/var/lib/mysql \
      -v /opt/mysql/conf:/etc/mysql/conf.d \
      -v /opt/mysql/logs:/logs \
      -e MYSQL_ROOT_PASSWORD=123456 \
      -p 3333:3306 \
      mysql:5.6

這裏指定了初識密碼是123456

1.4配置文件

Mysql的配置文件:
!includedir /etc/mysql/conf.d/
我們已經將這個路徑映射到本地了 /opt/mysql/conf 所以我們直接將配置放到本地這個目錄就可以了.

新建配置文件

vim /opt/mysql/conf/utf8.cnf

添加不區分大小寫1-不敏感,0-敏感

https://blog.csdn.net/vkingnew/article/details/80613043

意思是配置文件在這目錄下
如果出現亂碼可以添加

添加以下內容

#或者這個配置  
#[mysqld] 
#lower_case_table_names=1
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
init_connect='SET NAMES utf8' 

1.5重啓容器

docker restart mysql

1.6新建用戶

1.6.1 進入docker容器

docker exec -it mysql bash

查看版本

  1. 容器中:
    mysql -V
    
  2. MySQL中:select version();或者status

1.6.2 創建賬戶,比如 mysql

我之所以創建用戶發現是因爲默認的root用戶沒登上.
如果你用root用戶能遠程登錄,可以選擇不創建.

授權
用戶名:要賦給遠程訪問權限的用戶名稱
IP地址:可以遠程訪問的電腦的IP地址,所有的地址使用 %
登錄MySQL

mysql -uroot -p123456;
create user 'mysql'@'%' identified by '000000';

https://www.jb51.net/article/31850.htm

1.6.3 賦予權限

with grant option這個選項表示該用戶可以將自己擁有的權限授權給別人

grant all privileges on *.* to 'mysql'@'%' with grant option;

1.6.4改密碼&授權超用戶

flush privileges;

如果抱錯參考:
https://blog.csdn.net/shenhonglei1234/article/details/84786443
https://blog.csdn.net/vin_1991216/article/details/82632710

exit 退出mysql  
exit 退出容器  

1.6.5重啓容器

docker restart mysql

查看mysql日誌

docker logs mysql

2.mysql5.7和mysql8版本

安裝方式和上面一樣
知識我們拉去和運行的鏡像不是5.6了,而是5.7和8

docker pull mysql:5.7

# 最新的就是8版本  
docker pull mysql:latest
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章