MySQL int(M) 中 M 的作用
在数据库设计时,我们经常会这样设置 int(M)
⚠️ 误区:大部分人把这个 M 当做能够存储多少位的数据,其实不然,这个M表示的是“显示宽度”。
使用场景:在前端的要显示一个 integer 类型的数据,数据库里设置对应的数据类型 int(4),但是写入的数据不足 4 位时,那么就会在左侧填充空格(如果开启 zerofill,则填充 0),以保证够 4 位,那么在前端显示的时候就是对应 4 个宽度的要求了。
在数据库设计时,我们经常会这样设置 int(M)
⚠️ 误区:大部分人把这个 M 当做能够存储多少位的数据,其实不然,这个M表示的是“显示宽度”。
使用场景:在前端的要显示一个 integer 类型的数据,数据库里设置对应的数据类型 int(4),但是写入的数据不足 4 位时,那么就会在左侧填充空格(如果开启 zerofill,则填充 0),以保证够 4 位,那么在前端显示的时候就是对应 4 个宽度的要求了。
查看容器名称或ID
1 | ➜ docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}" |
导出
1 | ➜ docker exec -it lnmpa_mysql_1 mysqldump -uroot -p123456 -P 3306 $DATABASE_NAME > $DATABASE_NAME_20181108_001.sql |
导入
1 | ➜ docker exec -i lnmpa_mysql_1 mysql -uroot -p123456 $DATABASE_NAME < $DATABASE_NAME_20181108_001.sql |
注意:这里与导出不同,需要将参数 -it 更换为 -i ,否则会报错:cannot enable tty mode on non tty input
现有两个容器:nginx 和 php-fpm,我们通常的连接方式是采用 tcp 形式,配置 127.0.0.1:9000 将 php 相关请求转发给 php-fpm,而使用 socket 的连接方式,将获得更好的性能。
环境
测试代码片段
1 | <?php |
报错
1 | SQLSTATE[HY000] [2002] Connection refused |