A woman identified as Ida Garcia, 33, wife of the alleged gunman, was in good condition at a local hospital, CNN affiliate WESH reported.
Jose Garcia Rodriguez, 57, died of a self-inflicted gunshot wound after fatally shooting another man at Melbourne Square mall, said Melbourne police Cmdr. Vincent Pryce, according to the station. That man was not identified.
Witnesses described a chaotic scene as gunfire erupted around the food court Saturday morning. Many people were waiting for stores to open.
"We were right there," Donna Evans told CNN affiliate Central Florida News 13. "We were right in the line of it. God is on my shoulder, whether people believe it or not."
Evans said she was carrying a food order when the shots rang out.
"It was a frightening experience," she told the station. "It's something that you don't ever want anybody to experience. It was crazy. We had just gotten our food to sit down by Starbucks and Chick-fil-A and all of sudden you hear pop, pop, pop, pop, pop, pop."
"You just drop everything," she added. "Your body makes you run."
Elizabeth Tickle told WESH that she heard about six shots.
"I figured somebody was shooting somebody, she said. "It's going on all the time now."
People ran for their lives, mall employee Brittany Brown told the station.
"I look up and a whole bunch of people are running, and they're saying, 'Run, run, run. People are shooting. People are dying,'" she said.
The motive for the shootings is under investigation, Pryce said.
Rodriguez was allegedly armed with three handguns and handfuls of ammunition, Pryce said, WESH reported.
The mall was expected to reopen Sunday, Pryce said.
"Officers quickly identified the threat and contained the situation," police said in a statement. "Officers conducted a store-to-store search of the Mall for additional suspects, injured, witnesses and conducted an evacuation. No additional threats were located."
The wounded victim was cooperating in the investigation, according to the statement.
A caller to 911 reported the shooting at about 9:30 a.m., police said.