使用docker安装mysql

1.创建数据目录及配置

     用于将本地目录映射到docker容器

    1)创建 /docker/mysql/conf     /docker/mysql/data   目录

    2)创建my.cnf配置文件

        touch /docker/mysql/conf/my.cnf

        my.cnf添加如下内容:

        [mysqld]

        user=mysql

        character-set-server=utf8

        default_authentication_plugin=mysql_native_password

        [client]

        default-character-set=utf8

        [mysql]

        default-character-set=utf8

2.命令及说明

使用该命令在命令行运行(需要有docker运行权限)

权限问题可以参考:https://docs.docker.com/install/linux/docker-ce/centos/

docker run -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_USER="liuy" -e MYSQL_PASSWORD="test" -e MYSQL_ROOT_PASSWORD="root" --name mysql_tls mysql:5.7

-p 3306:3306 将容器的3306端口与本地3306端口映射

-d 后台运行

--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限

-v /docker/mysql/conf/my.cnf:/etc/my.cnf:映射配置文件

-v /docker/mysql/data:/var/lib/mysql:映射数据目录

-e MYSQL_USER="liuy":添加"liuy"用户

-e MYSQL_PASSWORD="test":设置添加的用户密码

-e MYSQL_ROOT_PASSWORD="root":设置root用户密码

--character-set-server=utf8:设置字符集为utf8

--collation-server=utf8_general_cli:设置字符比较规则为utf8_general_cli

3.启动完成之后进入容器

docker exec -it mysql_tls  /bin/bash

使用该命令行可以进入终端命令行

4.数据库登录

mysql -uroot -p

5.授权

假设存在数据库 `demo`

将test数据库授权给liuy

grant all privileges on `demo`.* to 'liuy'@'%' identified by 'test';

6.参考:

https://blog.csdn.net/woniu211111/article/details/80968154

https://docs.docker.com/install/linux/docker-ce/centos/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容