使用docker安装常用软件:mysql
以mysql 5.7为例
使用docker pull mysql:5.7拉取mysql 5.7镜像
使用镜像创建容器
简单版
使用docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7运行镜像创建容器
因为linux系统自己装了mysql,避免端口冲突,先运行ps -ef|grep mysql查询
使用docker ps查询容器编号
使用docker exec -it 容器编号 bash进入mysql容器
使用mysql -uroot -p,输入密码,登录mysql
验证
show databases
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | mysql> show databases-> ;
 +--------------------+
 | Database           |
 +--------------------+
 | information_schema |
 | mysql              |
 | performance_schema |
 | sys                |
 +--------------------+
 
 | 
中文乱码问题
| 12
 3
 4
 5
 
 | INSERT INTo t1 VALUES(3, "张三");---
 INSERT INTo t1 VALUES(3, "张三")
 > 1366 - Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'name' at row 1
 > 时间: 0.038s
 
 | 
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 
 | mysql> SHOW VARIABLES LIKE 'character%';+--------------------------+----------------------------+
 | Variable_name            | Value                      |
 +--------------------------+----------------------------+
 | character_set_client     | latin1                     |
 | character_set_connection | latin1                     |
 | character_set_database   | latin1                     |
 | character_set_filesystem | binary                     |
 | character_set_results    | latin1                     |
 | character_set_server     | latin1                     |
 | character_set_system     | utf8                       |
 | character_sets_dir       | /usr/share/mysql/charsets/ |
 +--------------------------+----------------------------+
 8 rows in set (0.00 sec)
 mysql>
 
 | 
解决中文乱码问题
在宿主机的/ggls/mysql/conf目录下vim my.cnf文件,通过容器卷同步给容器实例
| 12
 3
 4
 5
 
 | [client]default_character_set=utf8
 [mysqld]
 collation_server = utf8_general_ci
 character_set_server = utf8
 
 | 
服务器输入SHOW VARIABLES LIKE 'character%';验证
docker安装好并run出容器后,先修改字符集编码在创建mysql库删库备份问题
只要本机上面的容器卷存在,容器卷位置没有改变的情况下,就算容器被删除,重新打开后,创建的数据库,表都还存在工作使用版启动容器方法
| 12
 3
 4
 5
 6
 7
 
 | docker run -d -p 3306:3306 --privileged=true-v /ggls/mysql/log:/var/log/mysql
 -v /ggls/mysql/data:/var/lib/mysql
 -v /ggls/mysql/conf:/etc/mysql/conf.d
 -e MYSQL_ROOT_PASSWORD=123456
 --name mysql
 mysql:5.7
 
 |