首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >雪豹下的Macports mysql5设置

雪豹下的Macports mysql5设置
EN

Stack Overflow用户
提问于 2009-10-20 01:14:58
回答 7查看 12.4K关注 0票数 15

因为我是个新手,所以我的安装都搞砸了,而我擅长的就是搞砸了。

( 1)有人能引用一套可信的设置指令吗?

2)我是否可以通过macport卸载并从头开始(密码和所有)?我试了一试,一堆mysql目录在unistall之后被困住了,WTF!?

3) mysqld.sock需要驻留在哪里,我需要应用哪些文件设置才能使它与php5和apache2保持良好关系?它是存在于/tmp中还是在/opt/local/var/run/mysql5 5/中?是否需要配置/opt/local/etc/php5 5/php.ini?选择/local/var/db/php5 5/mysql.ini?/opt/local/etc/mysql5 5/my.cnf?

4)我运行了> sudo -u mysql mysql_install_db5。如果我再做一次它会把我搞砸吗?我运行mysqladmin -u根密码'mypw‘,并收到一个错误,称mysql无法通过套接字连接。那么,这是否意味着我的密码已经设置好了?有什么办法我能看出来吗?

5)密码语句的语法随博客的变化而变化。我的密码是' mypw‘还是mypw(没有引号)?(我的密码实际上不是mypw)

6)启动和停止mysql的适当命令是什么?我不希望它在我的机器启动时启动。

谢谢杰加森,这是非常有帮助的。

我真的很想与mysql的macport安装保持一致,因为它限制了我可以对我的机器造成的破坏。

所以现在最突出的问题是..。

1) macports安装的默认套接字位置是什么?

2)启动和停止mysql的适当命令是什么?我不希望它在我的机器启动时启动。一些博客说要使用launchctl -load,另一些博客则说sudo /path/mysql_ say 5。如果您没有设置密码(正如我不打算设置的那样),您需要使用-user -p参数吗?

3)使macports工作所必需的目录所有权和权限是什么。似乎macport没有设置任何这样的东西。

尼尔丁

检查/tmp中的MacPorts mysql套接字

没什么用。如前所述,我理解/tmp是套接字的默认位置。我的问题是,当我尝试启动mysql时,套接字不会在那里实现,它也不会出现在/opt/local/var/run/mysql 5/中。这告诉我在启动mysql时遇到了问题,这意味着设置有问题。可能是什么,我不知道。恐怕我不是天生就知道这些事情的。

-What特定的目录,套接字应该在mysql5安装中使用雪豹下的宏端口吗?

如果您正在使用5种不同站点关于如何运行mysql的提示,并且您感到惊讶的是您丢失了…好吧,我就把它放在一边,试着一次只跟踪一个站点,在进入下一个站点之前,把所有的更改都放出来。

没什么用。我完全按照你的建议做了。你认为我做了什么,混合和匹配的指示从5个博客?这就是为什么我问关于干净的卸载。我想知道从以前的安装状态更改是否会影响未来的“干净”安装。

-What的特定博客描述了使用雪豹下的macport安装mysql5的确认的正确安装过程。

我认为MacPorts mysql唯一的问题是(您有什么问题?)它有一个你不想要的套接字,而且它使用的是默认配置。

没什么用。我也是,看看我原来的帖子。我认为问题在于mysql是如何启动的(或者没有启动)。

-Do你对如何纠正这个问题有什么具体的建议吗?

这应该是在MacPorts完成安装后解释的。

没什么用。不是的,否则我就没看到。也许是因为我在用门廊。

-Could你说得更具体些吗?在什么时候,我应该看到什么信息?

有关想法和/或与开发人员列表联系,请参见${前缀}/share/doc/mysql5 5。还可以考虑联系端口的维护人员,因为他们管理了端口,所以他们可能对它了解得最多。

没什么用。RTM,Google是你的朋友,诸如此类。是的,先去了那里。虽然我承认,我可能忽略了一些事情,因为我不想花几天时间读一些写得不好的文档,而当我有其他工作要做的时候,我确定我的问题很简单。

  • 如果你想给我一份我可能忽略的具体文件,那将是有帮助的。

我希望能得到一些简单、专注的帮助,比如杰加森提供的帮助。我(和其他读到这篇文章的人)赞赏杰加松愿意传达他的知识,以加速新技术的人的学习过程。对他来说,知识是基本的,但对于新来的人来说,这是一个巨大的节省时间的方法。智力的真正标志是认识到技术知识不是先天的,即使是基本的帮助也有很大的帮助。再一次感谢J-曼。

EN

回答 7

Stack Overflow用户

发布于 2011-08-21 22:19:28

我自己刚刚安装了mysql5,因为这总是一种痛苦,我注意到了我所遵循的过程。这是在豹上做的,但我想雪豹和狮子的过程是一样的。它没有回答所有的原始问题,但至少它是一个指南。

安装Mysql

首先,用以下方式安装mysql5服务器:

代码语言:javascript
复制
sudo port install mysql5-server

仅仅安装mysql5并不能安装服务器。

注意控制台输出,它包括设置宏端口的说明。您可能需要复制并粘贴到文本文件中。以下是在此基础上提出的。

mysql5-server不同,您可以使用诸如mysql55-servermysql56-servermariadb-serverpercona-server之类的端口来获得更新版本的mysql或fork。如果您这样做了,请注意控制台输出,因为下面的说明是基于mysql5-server的,需要进行调整以使用正确的可执行文件和路径。

如果这是一个新安装,请设置数据库:

代码语言:javascript
复制
sudo -u _mysql mysql_install_db5

这会输出一些通用指令,我不认为这完全适合于macport。在我看来,将mysql5作为守护进程加载的最佳方法是使用macport的方法:

代码语言:javascript
复制
sudo port load mysql5-server

除了启动mysql5之外,这还将永久加载它--它将在启动时运行。为了在以后停止这种情况:

代码语言:javascript
复制
sudo port unload mysql5-server

如果不想将它作为守护进程运行,可以在命令行中运行它:

代码语言:javascript
复制
sudo /opt/local/lib/mysql5/bin/mysqld_safe

通过在命令行登录来检查它是否正在运行:

代码语言:javascript
复制
mysql5 -u root -p

默认情况下,密码为空,因此只要在提示时按enter即可。若要设置根密码,请执行以下操作:

代码语言:javascript
复制
/opt/local/lib/mysql5/bin/mysqladmin -u root password 'correct horse battery staple'

有关设置macports和本机php安装的说明如下。

安装Macports

假设您已经安装并运行了macports。您需要安装php5-mysql (或类似于php54-mysql的东西,具体取决于您使用的php的哪个版本):

代码语言:javascript
复制
sudo port install php5-mysql

这将安装mysql、mysqli和pdo驱动程序。

现在查看您的/opt/local/etc/php5目录,如果您还没有php.ini配置文件,那么可以将php.ini-developmentphp.ini-production复制到php.ini。现在编辑php.ini并搜索要添加的适当行:

代码语言:javascript
复制
pdo_mysql.default_socket=/opt/local/var/run/mysql5/mysqld.sock

以及:

代码语言:javascript
复制
mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock

以及:

代码语言:javascript
复制
mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock

如果不想配置它们,则可以在连接时在php脚本中显式设置它们。

如果连接有问题,您可能需要查看附近的其他设置,并将其与php.ini-developmentphp.ini-production进行比较,以查看更改了什么。

然后使用下面的脚本,或者类似于您可以连接到php的测试。

安装系统PHP

OS的php附带mysql和mysqli内置的支持(但不是pdo),所以您所需要做的就是设置macport套接字。默认位置是/opt/local/var/run/mysql5/mysqld.sock。在/etc/php.ini中找到正确的位置(如果您还没有它,请从/etc/php.ini.default复制它)以添加:

代码语言:javascript
复制
mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock

以及:

代码语言:javascript
复制
mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock

如果不想配置它们,则可以在连接时在php脚本中显式设置它们。

测试脚本

这里有一个php脚本来检查它是否可以连接。显然,您通常不会在php脚本中使用根帐户,因此您可能需要首先创建另一个mysql帐户来测试连接。PDO连接不适用于本机php,因为它没有PDO驱动程序。

代码语言:javascript
复制
<?php

$username = 'root';
$password = 'correct horse battery staple';

/* Try mysql: */

$connection = mysql_connect('localhost', $username, $password);
if ($connection === FALSE) {
    echo "Error connecting using mysql.\n\n";
    echo "Error ".mysql_errno().": ".mysql_error()."\n\n";

}
else {
    echo "Connected using mysql.\n\n";
    mysql_close($connection);
}

/* Try mysqli: */

$connection = mysqli_connect('localhost', $username, $password);
if ($connection->connect_error) {
    echo "Error connecting using mysqli:\n\n";
    echo "Error ".$connection->connect_errno.": ".$connection->connect_error."\n\n";
}
else {
    echo "Connected using mysqli.\n\n";
    $connection->close();
}

/* Try pdo:
 * Won't work for the version of php supplied with OS X. */

try {
    $pdo = new PDO('mysql:host=localhost', $username, $password);
    echo "Connected using PDO.\n\n";
    $pdo = null;
}
catch(PDOException $e) {
    echo "Error connecting using PDO:\n\n";
    echo "Error ".$e->getCode().": ".$e->getMessage()."\n\n";
}
票数 13
EN

Stack Overflow用户

发布于 2010-01-12 20:34:32

我自己也遇到过同样的问题。为了让我的MySQL工作,我只需要做

代码语言:javascript
复制
sudo chmod -Rf 777 /opt/local/var/db/mysql5

做sudo -u _mysql mysql_db5的尝试失败了,但我可以这样做。

代码语言:javascript
复制
mysqladmin -u root  password the_new_password

没有任何问题。

如果不希望MySQL在打开机器时自动启动,只需执行以下操作:

代码语言:javascript
复制
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist

然后启动/停止MySQL:

开始:

代码语言:javascript
复制
sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper start

停止:

代码语言:javascript
复制
sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop

希望这能有所帮助。

票数 4
EN

Stack Overflow用户

发布于 2009-10-20 01:24:01

1)速度能有一个很好的演练,从源代码中编译MySQLfor斯诺Leopard。其实并不难,如果你自己去做,你就会知道它在哪里。

2)您应该能够只运行sudo port uninstall mysql5。它可能会对你大喊大叫的依赖。如果是这样的话,你必须先卸载这些。卸载MySQL应删除所有配置设置,包括密码。

3) mysqld.sock需要驻留在哪里,我需要应用哪些文件设置才能使它与php5和apache2保持良好关系?mysqld.sock的位置不像通向它的路径那么重要。在您的mysqld.sock文件中设置到php.ini的路径。如果在/opt/local/bin中有一个php.ini文件,那么就安装了php的macports版本。您可以使用该版本,也可以使用默认的Apple版本。无论哪种方式,您都需要配置php.ini文件,以便告诉您的php安装到哪里去使用它。您的php.ini文件中应该有一行内容

代码语言:javascript
复制
mysql.default_socket = <whatever>

如果它不在那里,你可以添加它。您应该将这一行设置为mysqld.sock的位置。我的看起来是这样的:

代码语言:javascript
复制
mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock

您的Apache配置

4)我运行了> sudo -u mysql mysql_install_db5。如果我再做一次它会把我搞砸吗?我运行mysqladmin -u根密码'mypw‘,并收到一个错误,称mysql无法通过套接字连接。那么,这是否意味着我的密码已经设置好了?有什么办法我能看出来吗?如果无法连接到套接字,则未设置密码。

5)密码语句的语法随博客的变化而变化。我的密码是' mypw‘还是mypw(没有引号)?(我的密码实际上不是mypw)您不需要命令行中密码周围的引号。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1591978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档