ECS上docker运行MySQL,phpmyadmin,redis

2018-07-27 1337点热度 0人点赞 0条评论

安装docker

配置yum

yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

可选

yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-test

安装docker

yum install docker-ce

启动docker服务

systemctl start docker

安装MySQL,phpmyadmin

docker run --name mysql -p 3306:3306 -v /root/data/mysqldata/my.cnf:/etc/my.cnf -v /root/data/mysqldata/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="5GVYFB74b%f" -d -e TZ=Asia/Shanghai mysql

docker run --name phpmyadmin -d --link mysql:db -p 8601:80 phpmyadmin/phpmyadmin

docker run --name phpmyadmin2 -e UPLOAD_LIMIT=52428800 -d --link mysql57:db -p 8602:80 phpmyadmin/phpmyadmin

数据库表名大小写问题

Linux下MySQL的表名默认是大小写敏感的,由以下参数确定:

lower_case_table_names = 0 #大小写敏感
lower_case_table_names = 1 #大小写不敏感

在mysql容器运行的情况下,修改参数,首先把配置文件复制到本地:

docker cp mysql:/etc/my.cnf .

然后编辑该文件,添加下面一行:

lower_case_table_names = 1

再把文件复制回容器:

docker cp mysqld.cnf  mysql:/etc/mysql/mysql.conf.d/mysqld.cnf

然后重启mysql容器:

docker restart mysql

可以通过以下命令查看参数是否已经修改(mysql库),如果lower_case_table_names是1,说明已经生效,表名已经忽略大小写:

show VARIABLES like '%lower%'
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF   |
| lower_case_table_names | 1     |
+------------------------+-------+
2 rows in set (0.00 sec)

8.0版本的mysql修改表名大小写不敏感

在启动之前就修改my.cnf添加以下内容

lower_case_table_names=1

安装redis,需要密码

docker run -p 16239:6379 --restart=always --name redis -d redis:latest --requirepass "xianfeng"

王显锋

激情工作,快乐生活!

文章评论