景绣前程

Docker镜像安装MySQL

1、运行docker,拉取mysql镜像。
docker search mysql;

#拉取mysql镜像
docker pull docker.io/mysql
docker pull mysql:5.7

#查看版本号
sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/mysql latest 990386cbd5c0 2 weeks ago 443 MB

  • 启动一个容器
    docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/data:/var/lib/mysql -v $PWD/logs:/logs –name test_mysql mysql:5.6

docker run -p 3306:3306 –name mysql_db -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
参数说明
-d 让容器在后台运行
-p 3306:3306 将容器的 3306 端口映射到主机的 3306 端口
-e 设置环境变量,这里是设置mysql的root用户的初始密码,这个必须设置
-v $PWD/conf:/etc/mysql/conf.d 将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf
-v $PWD/data:/var/lib/mysql 将主机当前目录下的data目录挂载到容器的 /var/lib/mysql
-v $PWD/logs:/logs 将主机当前目录下的 logs 目录挂载到容器的 /logs
–name 容器的名字,随便取,但是必须唯一
-mysql:5.6(TAG号)

进入容器
docker exec -ti test_mysql /bin/bash
或 docker exec -ti mysql_db /bin/bash

登录mysql
mysql -u root -p

2 重启mysql:
docker restart test_mysql

查看用户信息

  1. mysql> select host,user,plugin,authentication_string from mysql.user;

  2. mysql> ALTER user ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;

  3. Query OK, 0 rows affected (0.01 sec)

  4. mysql>

  5. mysql> FLUSH PRIVILEGES;

  6. Query OK, 0 rows affected (0.01 sec)

  7. mysql>

更新来源
apt-get update
安装vim
apt-get install -y vim
如果报错

#修改加密规则
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;

#更新密码(mysql_native_password模式)
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘{1234560}’;
再重置下密码:alter user ‘root’@’localhost’ identified by ‘123456’;

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘YourPassword’;

1.首先下载mysql-docker镜像,我下载的版本为5.7,目前最新为8.0,可以自己指定版本

tag为你要下载的版本,比如5.7

docker pull mysql/mysql-server:5.7

用sudo docker image ls 查看镜像文件是否下载成功

2.启动mysql docker容器

docker run –name=mysql -d -p 3306:3306 -p 33060:33060 -it mysql/mysql-server:5.7 bash
–name : 指定容器的名称

-d : 让容器可以后台运行

-p : 指定容器所暴漏的端口需要在宿主机所映射的端口 即:宿主机3306 映射到容器的3306端口

-it : 交互式终端显示

bash: 是我们需要执行的命令

3.修改mysql的密码

使用命令docker logs 用来查看mysql容器的日志,首先获取启动时的初始临时密码

docker logs mysql

链接mysql终端修改密码

mysql -uroot -p
password:#把logs中的临时密码复制到这

mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘password’;

#passwrod 为你要设置的密码
修改访问权限

mysql默认只能本地主机访问,要想外界可以访问需要修改数据库

mysql>use mysql;
mysql>update user set host = ‘%’ where user = ‘root’;
mysql>flush privileges;
4.远程访问mysql

此时应该可以正常远程链接mysql

  1. 1. tag为你要下载的版本,比如5.7