Docker安装MySQL5.6
通过Docker的方式安装mysql数据库,非常方便,屡试不爽,能够加快项目实施速度,经过测试,下面是比较好的做法。
1.拉取镜像
docker pull mysql/mysql-server:5.6
2.配置环境
mkdir /data/mysqlconf vim /data/mysqlconf/my.cnf
添加以下内容:
[mysqld] skip-host-cache skip-name-resolve datadir = /var/lib/mysql init_connect='SET collation_connection = utf8_general_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_general_ci [mysql] default-character-set=utf8 [client] default-character-set=utf8
3.运行容器
docker run -d --name mysql -v /data/mysql:/var/lib/mysql -v /data/mysqlconf:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
说明:
1)数据映射:容器中的/var/lib/mysql到主机中/data/mysql。
2)配置映射:容器中的/etc/mysql/conf.d到主机中/data/mysqlconf,容器中的配置文件默认为/etc/mysql/my.cnf中,因为官方做了处理,在my.cnf做一些处理:包含了conf.d目录下面的所有.cnf的文件。所以可以把conf.d映射出来,然后自己可以在主机中修改数据库配置。
3)新的容器名字为mysql,root的密码为123456。
4)运行 docker ps -a
查看mysql容器是否正常运行,如果是“up..”,则正常,反之是“exit…”,说明运行错误。通过docker logs mysql 来查看日志。如果运行失败了,运行 docker rm -f mysql
删除后,检查在重试。
4.验证数据库
1)主机安装mysql客户端(若已经安装,可忽略)
apt-get install mysql-client
2)查看容器的IP,下一步要用
docker inspect mysql | grep 'IPAddress'
3)客户端登录
//172.17.0.2为容器的IP地址 mysql -h 172.17.0.2 -uroot -p mysql-> use mysql; mysql-> select user,host from user;
+——+———–+
| user | host |
+——+———–+
| root | % |
| root | localhost |
+——+———–+
2 rows in set (0.00 sec)
mysql> show variables like "%character%";show variables like "%collation%";
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+————————–+—————————-+
8 rows in set (0.00 sec)
+———————-+—————–+
| Variable_name | Value |
+———————-+—————–+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+———————-+—————–+
3 rows in set (0.00 sec)
能看到以上结果,说明容器mysql安装OK。
5.其他
如新建一个测试数据库confluencedb:
docker run --name mysql \ --network confluencenet \ -e 'MYSQL_ROOT_PASSWORD=verybigsecretrootpassword' \ -e 'MYSQL_DATABASE=confluencedb' \ -e 'MYSQL_USER=confluencedb' \ -e 'MYSQL_PASSWORD=jellyfish' \ -d mysql:5.6
参考Docker Hub:https://hub.docker.com/_/mysql/