Intevalo de datas mysql

Galera, estou com uma dúvida, estou trabalhando em um projeto que tenho que buscar um itervalo de datas.
Exemplo tenho dois campos dataInicio, dataFim e no banco tenho

dataInicio | DataFim

2017-12-29| 2018-01-01|
2017-12-29| 2018-01-01|
2017-12-29| 2018-01-01|
2017-12-29| 2018-01-01|
2017-12-29| 2018-01-01|

e no caso se eu informar no where dataInicio = 2017-12-29 and dataFim = 2017-12-30

ele tem que informar todos pois só posso ter 5 usuário utlizando apartir do dia 29

Eu não entendi o que você realmente quer, com esse where que você colocou ele irá informar todas as linhas que tiverem exatamente a data informada dataInicio = 2017-12-29 and dataFim = 2017-12-30

Mas se você quer um intervalo de datas utilize o between.
Exemplo

Select * FROM Tabela WHERE dataInicio BETWEEN dataInformada1 AND dataInformada2;

Agora é só adequar ao seu problema.

Rodrigio o beetween resolveria, porém eu tenho dois campos.
Eu tenho que buscar o intervalo no campo dataInicio e dataFim

Você precisa buscar o intervalo de tempo entre as duas datas? Se sim, o intervalo é em dias, semanas ou meses?

E outra, você necessariamente precisa buscar o intervalo PELO banco?

Select * FROM Tabela WHERE (dataInicio BETWEEN dataInformada1 AND dataInformada2) AND (dataFim BETWEEN dataInformada1 AND dataInformada2);

Não é a maneira mais correta de se fazer, mas acho que isso resolveria seu problema.

Assim apenas terás os que começaram e terminaram dentro do intervalo indicado.

Se queres qualquer pessoa que utilizou no intervalo (começando antes e acabando dentro ou depois ou começando dentro e acabando dentro ou depois) podes fazer:

 Select * FROM Tabela WHERE dataInicio <= dataInformada2 AND dataFim >= dataInformada1 ;

Atenção à troca das comparações, com data de inicio a comparar com a segunda data informada e data de fim a comparar com a primeira.