docker之MySQL
准备:部署好docker环境 镜像docker.io-mysql-mysql-server.tar 上传至/root
[root@node1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@node1 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE [root@node1 ~]#
导入镜像到docker
[root@node1 ~]# docker load -i docker.io-mysql-mysql-server.tar 0302be4b1718: Loading layer 124.3MB/124.3MB f9deff9cb67e: Loading layer 128.7MB/128.7MB c4c921f94c30: Loading layer 9.216kB/9.216kB 0c39b2c234c8: Loading layer 3.072kB/3.072kB Loaded image: mysql/mysql-server:latest
查看
[root@node1 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql/mysql-server latest a3ee341faefb 4 years ago 246MB
运行
[root@node1 ~]# docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql/mysql-server 06424190aebe9e3e37af7deb7f3a83cada047a6a651cbe09f1a9c588740258da
Navicat 连接测试
进入容器
[root@node1 ~]# docker exec -it 064 bash bash-4.2# mysql -uroot -p Enter password:
添加roo t账户远程登录
mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select host,user from user; +-----------+---------------+ | host | user | +-----------+---------------+ | localhost | healthchecker | | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+---------------+ 4 rows in set (0.00 sec) mysql> update user set host='%' where user='root'; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> select host,user from user; +-----------+---------------+ | host | user | +-----------+---------------+ | % | root | | localhost | healthchecker | | localhost | mysql.session | | localhost | mysql.sys | +-----------+---------------+ 4 rows in set (0.00 sec)
再次测试
禁止root 账户远程登录
mysql> update user set host = "localhost" where user = "root" and host = "%"; mysql> flush privileges;
创建用户
mysql> create user test identified by '123456'; mysql> grant all privileges on *.* to 'test'@'%'identified by '123456' with grant option; mysql> flush privileges ;
mysql> use mysql; mysql> select host,user from user;
mysql> select host,user from user; +-----------+---------------+ | host | user | +-----------+---------------+ | % | test | | localhost | healthchecker | | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+---------------+ 5 rows in set (0.00 sec)
修改指定用户密码
mysql> update mysql.user set password=password('新密码') where User="test" ;
删除用户
mysql> delete from user where User='test';
提交镜像
[root@node1 ~]# docker commit 06424190aebe mysql
sha256:b78e5161c206cf6612053f73eaa6249963cfe75e701fc5c59e5c1e7f6140b202
保存镜像
[root@node1 ~]# docker save mysql:latest -o ./mysql.tar