從零到壹搭建一個商城架構--Docker安裝MySQL

Docker安裝MySQL

1 、到docker鏡像倉庫查看mysql版本
sudo docker pull mysql:5.7
2、查看下載的mysql
sudo docker images
3、創建實例並啓動
sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

參數說明:

​ -p 3306:3306:將容器的3306端口映射到主機的3306端口

​ -v /mydata/mysql/conf:/etc/mysql:將配置文件掛載到主機

​ -v /mysdata/mysql/log:/var/log/mysql:將日誌文件夾掛載到主機

​ -v /mydata/mysql/data:/var/lib/mysql:將配置文件夾掛載到主機

​ -e MYSQL_ROOT_PASSWORD=root:初始化root用戶的密碼

在這裏插入圖片描述

4 、配置文件內容

找到我們本地的mydata/mysql/conf

cd /mydata/mysql/conf
vi my.cnf
[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8
 
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

注意:解決MySQL連接慢的問題

在配置文件中加入如下,並重啓mysql

[mysqld]

skip-name-resolve

解釋:

skip-name-resolve:跳過域名解析

5 、重啓mysql
docker restart mysql
6、docker啓動後,mysql也跟着啓動
docker update mysql --restart=always
7、使用Navicat數據庫工具連接mysql

在這裏插入圖片描述

8、遇到的問題
  • 在執行更新操作的時候,會報

[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

以上錯誤,我們設置my.cnf文件,添加

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

需要注意的一點是一定要添加在[mysqld]配置內,這樣添加完後重啓mysql纔會生效

  • 我們用工具連接數據庫的時候,可能會出現連不上數據庫的情況

    首先我們進入到Docker,連上數據庫

    docker exec -it mysql /bin/bash
    mysql -uroot -p
    

輸入數據庫密碼,前面我們設置的啓動密碼是root

## 從任何主機上使用root用戶,密碼:youpassword(你的root密碼)連接到mysql服務器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
## 刷新權限
FLUSH PRIVILEGES;

退出後,重啓

docker restart mysql
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章