docker下安裝MySQL


在hub.docker.com上面,MySQL,有兩個,一個MySQL,有個MySQL-Server,后面一個是優化過后的

docker pull mysql/mysql-server

MySQL端口默認是3306:映射到3306

docker run -d -p 3306:3306 --name mysql01 mysql/mysql-server

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

 

然后,用Navicat連接MySQL,是連接不上去的,因為沒有在MySQL上加用戶和設置

docker logs mysql01

打印日志,可以看到里面默認的密碼 ROOT PASSWORD

 

-ek1icEPaL@nwIGub]0K3lub93c

 

登錄進去把密碼改了

借用這面這個命令,進入系統環境

docker exec -it mysql01 bash

 

mysql -uroot -p

然后出入密碼 -ek1icEPaL@nwIGub]0K3lub93c

 

以上只能第一次的時候,用這個能進來,如果下面創建了新的賬號,就應該用新的進來

mysql -utest -p 這個test是自己設定的

密碼是自己設定的

閱讀下去就知道了

 

use mysql

會提示我們改密碼

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password123');

上面這種方式貌似不行,使用的是下面這種:

輸入ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';

新密碼是:123456

 

修改完密碼之后,use mysql,選擇數據庫

select user,host from user;

 

root用戶只能通過localhost來登錄,可以修改,但是一般不讓別人登錄,因為不安全

我們只能自己起一個賬號

CREATE USER 'test'@'%' IDENTIFIED BY 'pwd123456';

GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' WITH GRANT OPTION;

 

用Navicat登錄的時候,就用test 密碼是pwd132456,來連接

我把上面改成了bingle,密碼是123456

 

這樣之后,沒有指定字符集,可能會出現亂碼的情況,所以

show variables like '%char%';

 

exit;退出mysql

 

再用Navicat連接mysql出現這種提示:

 

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的mysql密碼' PASSWORD EXPIRE NEVER; #修改加密規則 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的mysql密碼'; #修改密碼 FLUSH PRIVILEGES; #刷新數據

 

然后就可以了:

 

連接上之后:

 

 

 

cd /etc

ls

cat my.cnf

 

yum install vim 把編輯器安裝起來

 

出現了5000%多,這就出問題了

取消重新開始

這里出現這個,選擇yes,繼續下載

 

安裝成功之后,輸入vim就可以看到這個命令了

 

可以按住shift+: 然后輸入:q!

進來之后,按道理是:q! 強制退出不做保留

ls

 

 

 

cd /etc

ls

vim my.cnf

這樣就用vim打開了my.cnf

 

 

 

修改MYSQL 默認字符集:

添加到my.cnf

輸入i就可以在里面編輯下面內容了

[mysqld]

character-set-server=utf8

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

 

 

 

先按ESC,然后按下shift+:出現:之后,輸入wq,然后回車,就可以了

然后

cat my.cnf 來看一下

 

 

 

可以用容器重啟的方式重啟mysql,一旦我們出現錯誤重啟容器,重啟不了的話,沒有啟動,就么有辦法通過exec進入到這個容器,所以就比較危險

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM