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 -u root -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进入到这个容器,所以就比较危险

 

 

posted @ 2019-09-25 21:30  冰乐  阅读(1897)  评论(0编辑  收藏  举报