Skip to main content

Is this a mistake? YoYo (Yosemite) does not allow or support StartupItems.

MySQL 5.5, 5.6 and 5.7 all require a StartupItem.

Hmmm.....

external image link

I noticed on my test JSS that I had to manually start up MySQL every time I rebooted. This is…quite inconvenient.


I'm guessing a launchd item can be created to kick off MySQL on reboot.

I thought it was late and I may have been imagining things when I saw the doc. :)

zzz...


@donmontalvo I feel like it's been that way for awhile or my install of MySQL is broken. I just went the launchd route. The MySQL auto-startup never worked in 10.9.x for me. Hopefully I'll be dumping OSX for a clustered RHEL setup as soon as my firewall rules get configured.


@donmontalvo, It's something that I'm sure MySQL will change with a new installer.

FWIW, on 10.10 you need to start it using a launch daemon like the one linked: http://stackoverflow.com/questions/26476391/how-to-auto-load-mysql-on-startup-on-osx-yosemite


*flame suit on* but honestly why would you bother with the JSS running on OSX? I would assume that if you have Casper you have a decent amount of machines, which would then generally mean you have a decent virtualised infrastructure available to spin up a Win server or a flavour of Linux..

However in saying that, I'd expect better of JAMF than to let this one slip through seems a pretty large omission. Is there any mention of this problem in their admin guide/getting started? or does it still just say grab the community version of SQL 5.1+


@calumhunter][/url wrote:

*flame suit on* but honestly why would you bother with the JSS running on OSX?

I hear ya. I smell what you're cooking. I'm picking up what you're putting down. We've been kicking Apple hardware out of data centers for years.

The environments we set up with Casper have been all been on Windows Server VM. Unfortunately there are a few shops that still run JSS on OS X. So for this POC we don't have a choice.

@bentoms, @jhbush1973, will have a look at that link. Was hoping MySQL 5.7 were more up to date with current OSes but I guess their developers aren't up to speed on YoYo restrictions.


@calumhunter, still happily using OSX server here for my whole JSS/Casper backend.

12 minis deployed globally, running the JSS, ASUS, NetBoot, Caching & AFP/http(s).

Works well enough & the Apple logo means that the rest of IT leave it well alone. :)


@jhbush1973][/url, didn't see that your had been bust under 10.9.x.. Well nothing much to add but it's working for us.


I almost downloaded and upgraded until this little post caught my eye. Going to leave it alone for awhile. Thanks for the info everyone.
I don't know what "virtualization" is but I may check into that.


our jamf rep said he had a workaround for it... till then, don't reboot your server w/o starting mysql :)


I noticed the same thing. Reboot and you have to manually start up mysql.


(Apologies in advance for my updates causing multiple email alerts. Since folks search for answers, it makes sense to keep these tidbits updated. Please adjust your JAMF Nation prefs and/or use the Bookmark feature to keep track if you disable email alerts. - Don)

Yea, SystemStarter went bye bye...it's all launchd now. Apple have been pushing folks towards launchd for years, they finally pulled the trigger. Companies like Guardian Software, Oracle, etc., need to tell their internal Mac dev guys to start updating their software to use launchd.

Startup Items
https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/StartupItems.html

Deprecation Note: Startup items are a deprecated technology. Launching of daemons through this process may be removed or eliminated in a future release of OS X. Unless your software requires compatibility with OS X v10.3 or earlier, use the launchd facility instead. For more information, see Creating Launch Daemons and Agents.

and

About Daemons and Services
https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/Introduction.html

and

Creating Launch Daemons and Agents
https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html#//apple_ref/doc/uid/10000172i-SW7-BCIEDDBJ

If you are developing daemons to run on OS X, it is highly recommended that you design your daemons to be launchd compliant. Using launchd provides better performance and flexibility for daemons. It also improves the ability of administrators to manage the daemons running on a given system.

@calumhunter][/url][/url Also donning my flame suit...

Are you shocked? JAMF, after all, only supports the most basic and unreliable of databases for the JSS. MySQL? Really? Is it 1996 still? Are there no other databases? Is it so freaking difficult to abstract a database schema?

update: apparently it is... [https://jamfnation.jamfsoftware.com/featureRequest.html?id=456 ]

The hardware and OS is irrelevant as long as we're still tied to MySQL and Java. Seriously.


I second the @bentoms response. We still run our JSS on a server Mac Mini. Works great. It's 2.6Ghz i7 with 16G of RAM. Have it on 10.9 and MySQL starts up fine on a restart. We manage about 6000 Macs and 3000 iPads from it. I do have the Mac Mini running with the OS and Packages on a thunderbolt Promise Raid. We have 50 sites with a distribution point running at each site on a Mac Mini as well. All works very well. No plans to move the JSS to Yosemite as 10.9 is working well a the moment.


Anyways, it doesn't matter.

Truth is, 10.10 support is there in the JSS.. But MySQL is behind in moving from a startup item to LaunchD.

But it can be circumvented by creating your own in the mean time.


While I can't say I'm really surprised at all, I have to say its quite pathetic that developers out there haven't moved over to launchd. Its only been around since, oh let's see, OS X 10.4! Released in Spring 2005, so nearly a decade ago!


@bentoms wrote:

Works well enough & the Apple logo means that the rest of IT leave it well alone. :)

The EXACT reason I elected a mini to host our new JSS environment even though I had the option of a superior virtualized Ubuntu server (managed by our cluster). That half bitten fruit is like kryptonite to Windows admins.


I have a good relationship with the Extensis folks, when they pulled the trigger and provided UTS support for MSSQL/Oracle (they already supported MySQL), I was floored.


The EXACT reason I elected a mini to host our new JSS environment even though I had the option of a superior virtualized Ubuntu server (managed by our cluster). That half bitten fruit is like kryptonite to Windows admins.

Not to turn this into a religious debate, but this is the exact reason I prefer not to use apple hardware/software in the backend. (Small homogenous networks aside)
I'm a lazy (read: efficient, productive, smart) sysadmin. Why would I want to duplicate an entire infrastructure eg. database servers, app servers and fileservers. Then have to manage physical servers, have no HA/DR, no decent hardware monitoring and then be responsible for that on top of my day to day macsysadmin work. If you already have an infrastructure team managing all of that stuff then use that to your advantage.

People are loving things like AutoPKG and AutoCasperNBI because it does a lot of the work for you. In the same vein, why not let the windows/infrastructure/networking/whatever-they-are-called team do all of the hardwork for you? If a fileserver goes down that also hosts your casper DP, guess who is responsible for getting that back up and running and the data restored? Not me :) If the MySQL database server (or cluster) goes pear shaped, again, not my problem theres another team looking after that.

I've been fighting with network/windows admins for my entire career, I've found that the divide and adversarial relationship between mac admins and windows/network admins doesn't benefit anyone. Its stressful to both sides and also ultimately affects the end users experience which is what we should all be about.

Anyway very off topic but food for thought perhaps :)

Oh and a massive YES PLEASE IMPLEMENT NOW! For using MSSQL!!


@calumhunter, actually.. I prefer to control my own destiny.. Or maybe it's a lack of faith in the rest of my team.

Either way.. Happy that my JSS is on Apple kit.


I've been fighting with network/windows admins for my entire career, I've found that the divide and adversarial relationship between mac admins and windows/network admins doesn't benefit anyone. Its stressful to both sides and also ultimately affects the end users experience which is what we should all be about.

I find partnering with your datacenter team builds trust and confidence across the board.

I'm the race car driver who wants to win, but doesn't want to be involved in the choice of tires.

On the other hand, every Mac admin has to decide whether their datacenter team are reliable/responsive/capable, if not I'm not sure I'd feel comfortable having them involved.


Not everyone has a datacenter team... or a virtualization environment.


Hi @RobertHammen, yea we've been lucky so far. Physical works too, if the choice is to "hand off" the platform to the folks who manage that kind of thing.

If I get a chance tonight I'll create a launchd to start MySQL on reboot, the info provided by @bentoms (short URL: http://stackoverflow.com/a/26492593), and wrap it all in a PKG.


@calumhunter and @donmontalvo in another environment I'd agree wholeheartedly. I'm a Casper admin, not a file server admin, network bandwidth admin, <insert other title> admin, etc, and I'd love to leverage the infrastructure already in place so I can concentrate on what Casper does best. Unfortunately The server team and datacenter team at my place of employment are not one in the same, and neither are very cooperative with one another and least of all lil ole desktop engineering me </sarcasm>.

Even if I did decide on a windows VM, I'd get stuck with all the management of it anyway (from nuts to bolts), since it would be labeled "that Mac server." The only thing is then I'd also get to fight with the monthly automatic updates that are pushed to Windows VMs, including Java and MySQL (and not be able to stop them or otherwise do anything else about them). So Apple hardware it is for me for now. Eh, I like it better that way. I see what the SCCM admin deals with in that scenario. I'd rather not :P


This works, well, some'a'times... :)

https://jamfnation.jamfsoftware.com/discussion.html?id=10163#responseChild56810