mysql导入sql文件

MySQL优化(超完整版)(二)

懵懂的女人 提交于 2019-11-26 00:47:21
7. MySQL分库分表 (1) 分库分表概念介绍   MySQL的分库分表有两种方式: 垂直拆分 和 水平拆分 。    垂直拆分 :垂直拆分就是要 把表按模块划分到不同数据库表中 (当然原则还是不破坏第三范式),这种拆分在大型网站的演变过程中是很常见的。当一个网站还在很小的时候,只有小量的人来开发和维护,各模块和表都在一起,当网站不断丰富和壮大的时候,也会变成多个子系统来支撑,这时就有按模块和功能把表划分出来的需求。其实,相对于垂直切分更进一步的是服务化改造,说得简单就是要把原来强耦合的系统拆分成多个弱耦合的服务,通过服务间的调用来满足业务需求看,因此表拆出来后要通过服务的形式暴露出去,而不是直接调用不同模块的表。(垂直拆分用于分布式场景)    水平拆分 :解决单表大数据量的问题,水平切分就是要把一个表按照某种规则把数据划分到不同表或数据库里。例如:在大型电商系统中,每天的会员人数不断的增加。达到一定瓶颈后如何优化查询。通过将表数据水平分割成不同的表来实现优化。(实现规则:hash、时间、不同的维度)    通俗理解:水平拆分行,行数据拆分到不同表中, 垂直拆分列,表数据拆分到不同表中。 (2) 水平分表的案例    分表原理: 取模拆分(一致性hash),可以将数据分配的比较均匀。 这里我们以3张表为例: 案例: 首先我创建三张表 user0 / user1 /user2

MySQL备份之mysqldump

喜欢而已 提交于 2019-11-25 23:28:28
mysqldump 是 mysql自带的数据库备份工具 ,属于 单线程 ,大部分生产环境的mysql数据库备份都是使用该工具,mysqldump可以将数据导出为原生sql语句,在将其数据导入至数据库时,相当于是执行一遍备份文件中的所有sql语句, mysqldump 提供了 丰富的options选项 ,可以在 导出或者导入数据 的时候, 添加需要的options ,以便达到用户预期的效果 mysql常用参数 // 导出全部数据库。 // --all-databases , -A mysqldump -uroot -p --all-databases // 导出全部表空间。 // --all-tablespaces , -Y mysqldump -uroot -p --all-databases --all-tablespaces // 不导出任何表空间。 // --no-tablespaces , -y mysqldump -uroot -p --all-databases --no-tablespaces // 导出几个数据库。参数后面所有名字参量都被看作数据库名。 // --databases, -B mysqldump -uroot -p --databases [数据库名1] [数据库名2] // 每个数据库创建之前先添加drop数据库语句

docker部署LNMP&phpMyAdmin

为君一笑 提交于 2019-11-25 21:52:16
环境准备: 在一台主机上部署lnmp,基于多个容器: nginx服务:172.16.10.10 mysql服务:172.16.10.20 php服务:172.16.10.30 解决容器固定ip地址问题: 注意:因为当容器停止时或者将容器删除,再次运行相同的容器,它的ip地址不再时原来的地址,所以我们需要自定义一个网段,来指定容器的ip地址。 项目操作: (1) 首先自定义一个网络: [root@sqm-docker01 ~]# docker network create -d bridge --subnet 172.16.10.0/24 --gateway 172.16.10.1 mynet1 (2)下载nginx,php:fpm,mysql-5.7镜像: [root@sqm-docker01 ~]# docker pull nginx [root@sqm-docker01 ~]# docker pull php:7.2-fpm <!--使用的是php:7.2-fpm的镜像--> [root@sqm-docker01 ~]# docker pull mysql:5.7 <!--使用的是mysql:5.7的镜像--> (3)####运行一个基于nginx镜像的容器##### #先将nginx服务运行,以拷贝出nginx的配置文件: 参数解释: run :创建一个新的容器 -d

用户授权控制、数据库远程维护、综合应用案例

好久不见. 提交于 2019-11-25 20:41:04
案例1:授权数据库用户 案例2:查看及撤销授权 案例3:重置数据库管理密码 案例4:远程维护数据库 案例5:企业OA系统部署 案例6:企业OA系统迁移 1 案例1:授权数据库用户 1.1 问题 本例要求掌握MariaDB数据库中用户账号的授权操作,完成下列任务: 1)为OA系统建立专库 oadb,并授权用户 允许用户 runoa 从本机访问,对库 oadb 有全部权限 访问密码为 pwd@123 测试用户runoa的数据库访问权限 2)新建名为tarzan的管理员 允许从任何客户机('%')访问,对所有库有全部权限 访问密码为 tedu.cn1234 测试用户tarzan的数据库访问权限 1.2 步骤 实现此案例需要按照如下步骤进行。 步骤一:为OA系统建立专库 oadb,并授权用户 1)创建数据库oadb MariaDB [(none)]> CREATE DATABASE oadb; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> 2)授权用户 runoa 从本机访问,对库 oadb 有全部权限,访问密码为 pwd@123 MariaDB [(none)]> GRANT all ON oadb.* TO runoa@localhost IDENTIFIED BY 'pwd@123'; Query OK, 0 rows