Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Macports pengaturan mysql5 di bawah Snow Leopard

Saya sendiri baru saja menginstal mysql5, dan karena ini selalu menyusahkan, saya mencatat proses yang saya ikuti. Ini dilakukan pada Leopard, tetapi saya membayangkan prosesnya sama pada Snow Leopard dan Lion. Itu tidak menjawab semua pertanyaan awal, tapi setidaknya itu adalah panduan.

Menginstal Mysql

Pertama, instal server mysql5 dengan:

sudo port install mysql5-server

Hanya menginstal mysql5 tidak menginstal server.

Perhatikan output konsol, itu termasuk instruksi untuk mengatur macports. Anda mungkin ingin menyalin dan menempelkannya ke file teks. Berikut ini didasarkan pada itu.

Alih-alih mysql5-server , Anda dapat menggunakan port seperti mysql55-server , mysql56-server , mariadb-server atau percona-server untuk mendapatkan versi mysql yang lebih baru, atau fork. Jika ya, perhatikan output konsol, karena instruksi berikut didasarkan pada mysql5-server dan perlu disesuaikan untuk menggunakan executable dan jalur yang benar.

Jika ini adalah instalasi baru, siapkan database:

sudo -u _mysql mysql_install_db5

Itu menghasilkan beberapa instruksi umum, yang menurut saya tidak sepenuhnya sesuai untuk macports. Menurut pendapat saya cara terbaik untuk memuat mysql5 sebagai daemon adalah dengan menggunakan metode macport:

sudo port load mysql5-server

Selain memulai mysql5, ini memuatnya secara permanen - ini akan berjalan saat boot. Untuk menghentikan ini nanti:

sudo port unload mysql5-server

Jika Anda tidak ingin menjalankannya sebagai daemon, Anda dapat menjalankannya di baris perintah:

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

Periksa apakah itu berjalan dengan masuk di baris perintah:

mysql5 -u root -p

Secara default, kata sandinya kosong, jadi tekan saja enter saat diminta. Untuk menyetel kata sandi root:

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

Petunjuk untuk menyiapkan macports php dan penginstalan php asli ikuti.

Mengatur Macports PHP

Dengan asumsi Anda sudah menginstal dan menjalankan macports php. Anda perlu menginstal php5-mysql (atau sesuatu seperti php54-mysql tergantung pada versi php yang Anda gunakan):

sudo port install php5-mysql

Ini menginstal driver mysql, mysqli dan pdo.

Sekarang lihat di /opt/local/etc/php5 direktori, jika Anda belum memiliki php.ini salinan file konfigurasi baik php.ini-development atau php.ini-production ke php.ini . Sekarang edit php.ini dan cari baris yang sesuai untuk ditambahkan:

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

dan:

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

dan:

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

Jika Anda tidak ingin mengonfigurasinya, Anda dapat menyetelnya secara eksplisit di skrip php saat Anda terhubung.

Jika Anda mengalami masalah saat menyambungkan, Anda mungkin ingin melihat setelan terdekat lainnya, dan membandingkan dengan php.ini-development dan php.ini-production untuk melihat apa yang telah diubah.

Kemudian gunakan skrip di bawah ini, atau yang serupa dengan pengujian yang dapat Anda hubungkan dengan php.

Sistem Pengaturan PHP

PHP OS X dilengkapi dengan dukungan mysql dan mysqli bawaan (tetapi tidak pdo), jadi yang perlu Anda lakukan hanyalah mengatur soket macport unix. Lokasi default adalah /opt/local/var/run/mysql5/mysqld.sock . Temukan tempat yang benar di /etc/php.ini (jika Anda belum memilikinya, salin dari /etc/php.ini.default ) untuk menambahkan:

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

dan:

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

Jika Anda tidak ingin mengonfigurasinya, Anda dapat menyetelnya secara eksplisit di skrip php saat Anda terhubung.

Skrip Uji

Berikut skrip php untuk memeriksa apakah itu dapat terhubung. Jelas, Anda biasanya tidak akan menggunakan akun root di skrip php Anda sehingga Anda mungkin ingin membuat akun mysql lain untuk menguji koneksi terlebih dahulu. Koneksi PDO tidak akan bekerja untuk php asli karena tidak memiliki driver 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. konektor mysql java jdbc:cara mengatasi pemutusan setelah waktu idle yang lama

  2. Cara memperbaiki grup kueri dengan only_full_group_by

  3. Mysql MySQL atau PHP Ubah baris menjadi dua kolom secara dinamis

  4. Perlu Metode Hemat Waktu Mengimpor File CSV Besar Melalui PHP Ke Beberapa Tabel MySQL

  5. cara sederhana untuk menjumlahkan hasil dari UNION di MySql