Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Thiết lập Macports mysql5 dưới Snow Leopard

Tôi vừa tự cài đặt mysql5 và vì đây luôn là một vấn đề khó khăn nên tôi đã ghi nhận quá trình mà tôi đã làm theo. Điều này đã được thực hiện trên Leopard, nhưng tôi tưởng tượng quá trình này cũng giống như trên Snow Leopard và Lion. Nó không trả lời tất cả các câu hỏi ban đầu, nhưng ít nhất nó là một cái gì đó của một hướng dẫn.

Cài đặt Mysql

Đầu tiên, cài đặt máy chủ mysql5 với:

sudo port install mysql5-server

Chỉ cần cài đặt mysql5 không cài đặt máy chủ.

Hãy chú ý đến đầu ra của bảng điều khiển, nó bao gồm hướng dẫn thiết lập macports. Bạn có thể muốn sao chép và dán nó vào một tệp văn bản. Sau đây là dựa trên nó.

Thay vì mysql5-server , bạn có thể sử dụng một cổng như mysql55-server , mysql56-server , mariadb-server hoặc percona-server để tải phiên bản mysql mới hơn hoặc một bản fork. Nếu bạn làm vậy, hãy chú ý đến đầu ra của bảng điều khiển, vì các hướng dẫn sau dựa trên mysql5-server và sẽ cần được điều chỉnh để sử dụng các tệp thực thi và đường dẫn chính xác.

Nếu đây là bản cài đặt mới, hãy thiết lập cơ sở dữ liệu:

sudo -u _mysql mysql_install_db5

Điều đó tạo ra một số hướng dẫn chung chung, mà tôi không nghĩ là hoàn toàn thích hợp cho macports. Theo tôi, cách tốt nhất để tải mysql5 dưới dạng daemon là sử dụng phương thức của macport:

sudo port load mysql5-server

Cũng như khởi động mysql5, thao tác này sẽ tải vĩnh viễn - nó sẽ chạy khi khởi động. Để dừng việc này sau:

sudo port unload mysql5-server

Nếu bạn không muốn chạy nó dưới dạng daemon, bạn có thể chạy nó tại dòng lệnh:

sudo /opt/local/lib/mysql5/bin/mysqld_safe

Kiểm tra xem nó đang chạy bằng cách đăng nhập vào dòng lệnh:

mysql5 -u root -p

Theo mặc định, mật khẩu trống, vì vậy chỉ cần nhấn enter khi được nhắc. Để đặt mật khẩu gốc:

/opt/local/lib/mysql5/bin/mysqladmin -u root password 'correct horse battery staple'

Làm theo hướng dẫn thiết lập cả macports php và cài đặt php gốc.

Thiết lập Macports PHP

Giả sử bạn đã cài đặt và chạy macports php. Bạn cần cài đặt php5-mysql (hoặc cái gì đó như php54-mysql tùy thuộc vào phiên bản php bạn đang sử dụng):

sudo port install php5-mysql

Điều này sẽ cài đặt trình điều khiển mysql, mysqli và pdo.

Bây giờ, hãy tìm trong /opt/local/etc/php5 của bạn thư mục, nếu bạn chưa có php.ini sao chép tệp cấu hình php.ini-development hoặc php.ini-production tới php.ini . Bây giờ hãy chỉnh sửa php.ini và tìm kiếm các dòng thích hợp để thêm:

pdo_mysql.default_socket=/opt/local/var/run/mysql5/mysqld.sock

và:

mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock

và:

mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock

Nếu bạn không muốn định cấu hình chúng, bạn có thể đặt chúng một cách rõ ràng trong tập lệnh php của mình khi bạn kết nối.

Nếu bạn gặp sự cố khi kết nối, bạn có thể muốn xem các cài đặt lân cận khác và so sánh với php.ini-developmentphp.ini-production để xem những gì đã được thay đổi.

Sau đó, sử dụng tập lệnh bên dưới hoặc thứ gì đó tương tự để kiểm tra xem bạn có thể kết nối với php hay không.

Hệ thống thiết lập PHP

Php của OS X đi kèm với hỗ trợ mysql và mysqli được tích hợp sẵn (nhưng không phải pdo), vì vậy tất cả những gì bạn cần làm là đặt ổ cắm macport unix. Vị trí mặc định là /opt/local/var/run/mysql5/mysqld.sock . Tìm địa điểm chính xác trong /etc/php.ini (nếu bạn chưa có, hãy sao chép nó từ /etc/php.ini.default ) để thêm:

mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock

và:

mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock

Nếu bạn không muốn định cấu hình chúng, bạn có thể đặt chúng một cách rõ ràng trong tập lệnh php của mình khi bạn kết nối.

Tập lệnh thử nghiệm

Đây là một tập lệnh php để kiểm tra xem nó có thể kết nối hay không. Rõ ràng, thông thường bạn sẽ không sử dụng tài khoản gốc trong các tập lệnh php của mình, vì vậy trước tiên bạn có thể muốn tạo một tài khoản mysql khác để kiểm tra kết nối. Kết nối PDO sẽ không hoạt động đối với php gốc vì nó không có trình điều khiển PDO.

<?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";
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn hàng loạt với PHP

  2. Sử dụng mysql concat () trong mệnh đề WHERE?

  3. Nhóm đầu ra của SHOW COLUMNS vào danh sách được phân tách bằng dấu phẩy

  4. Giá trị số ngoài phạm vi:1264 trong mysql

  5. Làm thế nào để triển khai một hệ thống bình luận lồng nhau?