  An $(r, \delta)$-locally repairable code ($(r, \delta)$-LRC for short) was
introduced by Prakash et al. for tolerating multiple failed nodes in
distributed storage systems, and has garnered significant interest among
researchers. An $(r,\delta)$-LRC is called an optimal code if its parameters
achieve the Singleton-like bound. In this paper, we construct three classes of
$q$-ary optimal cyclic $(r,\delta)$-LRCs with new parameters by investigating
the defining sets of cyclic codes. Our results generalize the related work of
\cite{Chen2022,Qian2020}, and the obtained optimal cyclic $(r, \delta)$-LRCs
have flexible parameters. A lot of numerical examples of optimal cyclic $(r,
\delta)$-LRCs are given to show that our constructions are capable of
generating new optimal cyclic $(r, \delta)$-LRCs.
