docker安裝mysql
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
查看版本
- 容器中:
mysql -V
- 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