【sql实战1】数据库实战-MySQL环境部署

MySQL

docker run \
--name mysql \
-v $PWD/mysql:/var/lib/mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=hogwarts \
-d mysql:5.7

mysql的相关命令

root@d1cbef4ec7bf:/# mysql
mysql                      mysqlcheck
mysql_config_editor        mysqld
mysql_embedded             mysqld-debug
mysql_install_db           mysqld_multi
mysql_plugin               mysqld_safe
mysql_secure_installation  mysqldump
mysql_ssl_rsa_setup        mysqldumpslow
mysql_tzinfo_to_sql        mysqlimport
mysql_upgrade              mysqlpump
mysqladmin                 mysqlshow
mysqlbinlog                mysqlslap

WorkBench

数据库连接配置

shell下连接

交互式

mysql -h 127.0.0.1 -uroot -p

非交互模式

mysql -h 127.0.0.1 -uroot -Dhogwarts -e 'show databases;' -phogwarts -B

phpmyadmin

docker run -d \
--name myadmin \
-e PMA_ARBITRARY=1 \
-p 3080:80 \
phpmyadmin/phpmyadmin

测试数据库

git clone https://github.com/datacharmer/test_db.git
cd test_db/
#mysql -h sql.testing-studio.com -u root -p < employees.sql
#修改为你自己的专属数据库  用你的名字替换 $USER
cat  employees.sql  | 
  sed -e "s#employees;#employees_$USER;#g" | 
  mysql -h sql.testing-studio.com -u root -p

练习

  • 在sql.testing-studio.com上创建自己的测试数据集。到时候会检查上面的数据库。记得用自己的名字做后缀。

老师,/var/lib/mysql这是mysql镜像的默认地址吗?

mysql:5.7 才是镜像的名字
/var/lib/mysql这个是数据库的默认数据存储地址。如果用了容器,需要挂载到外部,才用了-v参数。

老师,那么我如果在局域网环境也是一样的操作吗?有什么特殊的配置吗

老师,使用docker安装mysql后,默认安装到哪个目录下了?

sql.testing-studio.com 是学院给大家买的公网服务器,所以只要能联网就可以访问到。

Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

yum install mysql 安装后,报这个,需要手动修改配置文件么?

启动容器后,所有的数据库文件是保存在容器内的。 只有-v参数挂在的文件路径才会出现你的主机上文件里。容器是一个特殊的隔离环境。更多细节可以看下docker的具体技术

老师,navicat和workbench用哪个好呢?

WorkBench这个工具感觉和Navicat功能差不多,它的优势是什么?有缺点吗?

两个都是不错的。具体用哪个看公司的使用情况和个人爱好。

1 个赞

workbench是官网公司,会紧跟mysql的更新,算是一个正统的工具。只有这个工具不满足的时候,再考虑其他工具去辅助。

如果一张表里面已经有成千上万条数据,这时候想修改表字段的属性或者删除、增加表字段,怎么操作啊?

如果删除了docker的容器,之前映射使用的端口会被释放吗?

老师,你刚才那些命令是在linux环境下操作的么

my.ini文件中mysqld、mysql、和client的字符设置区别,又为什么表结构中还要对字符集进行设置呢,排序规则是什么意思呢

是的,停止容器也可以,不一定非要删除。

数据库字段的长度和类型大小有什么区别和关系,如int和长度11,varchar和他的长度

是的,linux 或者mac都可以。windows使用git bash也是可以的

媒体文件,像图文混合的文本,视频,音频在数据库怎么存和怎么查