Install and configure MySQL 5 with MacPorts

本文详细指导如何使用MacPorts安装MySQL5,并创建初始数据库、设置密码、启动服务及配置安全措施。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Install MySQL 5

You can install using Porticus, Port Authority, or from the command line:

?
sudo port install mysql5 +server

The +server variant is required if you'll need to create a system startup item for MySQL 5. You'll see plenty of output during the build process and an activation message just before the installation completes.

Create initial MySQL databases

MySQL databases are kept in /opt/local/var/db/mysql5/ and you'll notice that this directory is empty. Run mysql_install_db to create the mysql and test databases.

?
sudo /opt/local/lib/mysql5/bin/mysql_install_db --user=mysql
Password:

You should see output similar to the following:

?
Installing MySQL system tables...
070925 20:32:07 [Warning] Setting lower_case_table_names=2 because file system for /opt/local/var/db/mysql5/ is case insensitive OK
Filling help tables...
070925 20:32:11 [Warning] Setting lower_case_table_names=2 because file system for /opt/local/var/db/mysql5/ is case insensitive OK  To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands:
/opt/local/lib/mysql5/bin/mysqladmin -u root password 'new-password'
/opt/local/lib/mysql5/bin/mysqladmin -u root -h homebase.local password 'new-password'
See the manual for more instructions. You can start the MySQL daemon with:
cd /opt/local ; /opt/local/lib/mysql5/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl 
Please report any problems with the /opt/local/lib/mysql5/bin/mysqlbug script!
The latest information about MySQL is available on the web at http://www.mysql.com Support MySQL by buying support/licenses at http://shop.mysql.com

Options for starting MySQL

I personally don't want MySQL to start at system start up, I'll start it manually when I need it. If you're energy conscious and set your Mac to go to sleep you won't want to set mysqld to start at system boot either. If, however, you need MySQL to always start at system boot

?
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

Whether you install the startup item or not, it's handy to add aliases to your profile to start and stop mysql from the command line. Use your favorite text editor (vi, pico, emacs) to add aliases.

?
vi ~/.profile

or

?
vi ~/.bash_profile

Add the following:

?
alias mysqlstart='sudo /opt/local/bin/mysqld_safe5 &'
?
alias mysqlstop='/opt/local/bin/mysqladmin5 -u root -p shutdown'

Note: Notice the '5' at the end of mysqld_safe? MacPorts adds version numbers at the end of executables to allow the installation of multiple versions (i.e. MySQL 4 and 5). You'll need to add the version number at the end of some of the executables you use, like mysqladmin5. Now you're ready to start your MySQL server with:

?
mysqlstart

or, if you didn't create aliases

?
sudo /opt/local/share/mysql5/mysql/mysql.server start

Confirm that MySQL is running

If MySQL's okay, you should see a server start confirmation message. You can test to ensure that MySQL is running with (leave password empty when prompted):

?
mysqladmin5 -u root -p ping
Enter password:
mysqld is alive

or with

?
mysql5 -u root -p
Enter password:
Welcome to the MySQL monitor.
Commands end with ; or \g. Your MySQL connection id is 2 to server version: 5.0.45  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

If you get the following error...

?
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

...set the mysqld_safe socket path in a new MySQL configuration file. Create /opt/local/etc/mysql5/my.cnf, add the following to it, save, the try again.

?
[mysqld_safe] socket = /tmp/mysql.sock

NOTE: If you've installed MacPort's PHP 5 you will probably need to tell PHP where the MySQL socket is. Edit your php.ini file located at /opt/local/etc/php.ini.

?
mysql.default_socket = /tmp/mysql.sock

Set Basic MySQL Security

Finally, set the root mysql password to secure your server.

?
mysqladmin5 -u root password

Moving MySQL data from other installations

If, like me, you want to move data from a previous MySQL 5 install (i.e. /usr/local/mysql/data), be sure to stop MySQL first. You'll want to overwrite the mysql database you created after installation when copying over data files and indices. Ensure that everything copied to /opt/local/var/db/mysql5/ remains owned by mysql. Refer to the MySQL documentation if you're upgrading from MySQL 4 to 5.

Now get busy querying.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值