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

'init metode tidak terdefinisi untuk Mysql:Kelas'

Saya memiliki Rails 3.1-rc4, MySQL 5.5.15 (baru saja ditingkatkan), dan Mac OS X Lion. Masalah saya ternyata adalah file mysql_api.bundle ditautkan ke file libmysqlclient.18.dylib yang benar, tetapi tidak dapat menemukan perpustakaan:

otool -L ~/.rvm/gems/ruby-1.9.2-p180/gems/mysql-2.8.1/lib/mysql_api.bundle 
/Users/rowland/.rvm/gems/ruby-1.9.2-p180/gems/mysql-2.8.1/lib/mysql_api.bundle:
    /Users/rowland/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.1.9.1.dylib (compatibility version 1.9.1, current version 1.9.1)
    libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.0.0)
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

Saat runtime perpustakaan tidak ditemukan. Upaya pertama saya untuk memperbaikinya adalah dengan menambahkan perintah LC_RPATH, tetapi itu tidak cukup (mungkin karena itu ada di akhir daftar). Sebagai gantinya saya langsung mengubah tautan perpustakaan dengan:

install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib ~/.rvm/gems/ruby-1.9.2-p180\@rails-3.1/gems/mysql-2.8.1/lib/mysql_api.bundle

Sekarang otool menunjukkan kepada saya:

otool -L ~/.rvm/gems/ruby-1.9.2-p180\@rails-3.1/gems/mysql-2.8.1/lib/mysql_api.bundle 
/Users/rowland/.rvm/gems/[email protected]/gems/mysql-2.8.1/lib/mysql_api.bundle:
    /Users/rowland/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.1.9.1.dylib (compatibility version 1.9.1, current version 1.9.1)
    /usr/local/mysql/lib/libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.0.0)
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

dan semuanya bahagia kembali. Ini hanya berfungsi di Mac OS X.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL:Pilih catatan terakhir untuk setiap hari yang diberikan datetime

  2. Menggabungkan hasil dari dua kueri MySQL yang terpisah

  3. Mengelompokkan tanggal dalam loop foreach

  4. Apakah PDO::beginTransaction() menyebabkan tabel atau baris terkunci hingga PDO::commit()?

  5. Tabel drop massal MySQL di mana tabel seperti?