docker安装mysql

docker安装mysql


dokcer中安装软件 https://hub.docker.com/ 只需要到官网hub库中找到自己所需要的软件及版本。
docker pull mysql 默认下载最新版本,想要下载指定版本的,可以通过docker pull mysql:8.0.25 这个命令在:后面指定版本号即可。我的安装版本就是8.0.25。
如下所示在tags里就可以找到不同版本的软件镜像。
用pull下载完成后通过 docker images查看

1.启动mysql,容器文件挂载和端口映射
docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -v /mydata/mysql/mysql-files:/var/lib/mysql-files/ -e MYSQL_ROOT_PASSWORD=root -e MYSQL_ROOT_HOST=% -d mysql:8.0.25

-e MYSQL_ROOT_PASSWORD=root //设置mysql root的密码
-e MYSQL_ROOT_HOST=% //开启远程访问(亲测安装中并没起作用)

  1. docker exec -it mysql /bin/bash 通过此命令进入mysql容器中。然后通过
    mysql -uroot -p 登录mysql数据库,mysql8版本可能会遇到拒接登录。
    拒接登录处理方法:
    第一步:/mydata/mysql/conf 在启动容器时指定的映射本地配置文件目录下新建my.cnf文件,名字可以随便起,但必须是.cnf结尾的文件。
    加入下面的内容。
    [mysqld]
    skip-grant-tables
    重启mysql服务(docker restart mysql)。即可以mysql -u用户名 -p 登录进去。
    第二步:创建远程连接用户
    use mysql;

     create user myroot identified by 'myroot';
     GRANT ALL PRIVILEGES ON *.* TO 'myroot'@'%';
     alter user'myroot'@'%' IDENTIFIED BY 'myroot' password expire never; 
     // MYSQL 8.0内新增加mysql_native_password函数,通过更改这个函数密码来进行远程连接。更改ROOT用户的native_password密码
     ALTER USER 'myroot'@'%' IDENTIFIED WITH mysql_native_password BY 'myroot';
     flush privileges;
    

select user,authentication_string,host from user; 查看创建结果
第三步:注释掉my.cnf 文件中的 skip-grant-tables,需要重启mysql
docker restart mysql; 执行完成。既可以连接了。
3. mysql配置(可以在my.cnf中指定一些编码等常用参数)
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
init_connect=‘SET collation_connection = utf8mb4_unicode_ci’
init_connect=‘SET NAMES utf8mb4’
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
配置完成重启mysql即可

docker restart mysql; 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值