分佈式環境搭建(四):安裝mysql

下載鏡像

sudo docker pull mysql:5.7

在這裏插入圖片描述

查看下載的鏡像

sudo docker images

在這裏插入圖片描述

創建mysql實例並啓動

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端口映射到主機
--name mysql 給容器命名爲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 將mysql的root密碼定爲root
-d mysql:5.7 以mysql:5.7鏡像啓動容器

在這裏插入圖片描述

查看docker容器

sudo docker ps

mysql已啓動成功
在這裏插入圖片描述

配置mysql

打開my.cnf文件
vi /mydata/mysql/conf/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

sudo docker restart mysql

進入mysql 容器

sudo docker exec -it mysql /bin/bash

可以看到,一個mysql容器就是一個完整的linux環境
在這裏插入圖片描述

查看容器中的mysql配置文件
cd /etc/mysql/
cat my.cnf

看到這個文件的內容就是剛剛我們配置的內容,是因爲在創建mysql實例並啓動時,對這三個目錄進行了映射,在這三個目錄下的文件的修改都將同步到mysql容器的對應文件中,就不需要進入mysql容器中再去修改配置,簡化了操作
在這裏插入圖片描述

在這裏插入圖片描述

連接數據庫

驗證mysql啓動是否正常在這裏插入圖片描述

修改mysql密碼

1.進入mysql容器
docker exec -it mysql /bin/bash

2.登錄mysql
mysql -u root -p
輸入密碼:root

3.切換數據庫
use mysql

4.查詢root用戶
select * from user where user = root;

5.修改密碼
update user set authentication_string = password('新的密碼'), password_expired = 'N', password_last_changed = now() where user = 'root';

6.這條命令暫不清楚
update user set plugin="mysql_native_password";

7.刷新權限
flush privileges;

8.退出
quit;

9.重新登錄
mysql -u root -p 

輸入新的密碼,登錄成功

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