Installing MySQL on FreeBSD
Sometimes it can not be avoided. MySQL needs to be installed for one reason or another. This post covers installing MySQL on FreeBSD.
Software Versions
$ date -u "+%Y-%m-%d %H:%M:%S +0000"
2016-07-14 01:23:55 +0000
$ uname -vm
FreeBSD 11.0-ALPHA6 #0 r302384: Thu Jul 7 22:40:47 JST 2016 root@mirage.sennue.com:/usr/obj/usr/src/sys/MIRAGE_KERNEL amd64
$ mysqladmin -u root -p version
mysqladmin Ver 8.42 Distrib 5.7.13, for FreeBSD11.0 on amd64
Server version 5.7.13-log
Protocol version 10
*snipped some output*
Instructions
Install using packages.
pkg install mysql57-server mysql57-client
Alternatively, install using ports.
portmaster databases/mysql57-server databases/mysql57-client
Enable MySQL in rc.conf.
/etc/rc.conf partial listing
mysql_enable="YES"
Start MySQL from the command line. Note that the above rc.conf line will automatically start MySQL when the machine boots. Note that the default location for my.conf is /usr/local/etc/mysql/my.cnf.
service mysql-server start
Note that if /var/db/mysql exists and is not empty, mysql-server will fail to start the first time. Backup or remove this directory if you need to. See this blog post to track down other errors when starting mysql-server for the first time.
# Backup
mv /var/db/mysql /var/db/mysql.old
# Remove
rm -rf /var/db/mysql
Reset the password.
Note that the initial password is stored in $HOME/.mysql_secret.
For example, if you use mysql -u root -p
the initial password is stored in
/root/.mysql_secret.
mysql -u root -p -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';"
If upgrading from an earlier version, run mysql_upgrade. Note that the command below upgrades as the root user.
mysql_upgrade -u root -p
Uninstall with pkg.
pkg delete mysql57-server mysql57-client
Uninstall with portmaster.
portmaster -e databases/mysql57-server databases/mysql57-client
References:
- MySQL, Installing MySQL on FreeBSD
- MySQL, How to Reset the Root Password
- MySQL, MySQL/MariaDB: Run SQL Queries From A Shell Prompt / Command Line
- MySQL, Find Out MySQL Version
- FreeBSD, FreeBSD mysql-server failed precmd routine
- FreeBSD, Upgrade MySQL 5.1.70 to 5.6.12
- FreeBSD, Properly deinstall ports and dependencies