sql >> Databáze >  >> RDS >> Mysql

Django + MySQL na Mac OS 10.6.2 Snow Leopard

Nakonec jsem vyřešil svůj vlastní problém, samozřejmě s podvědomou a vědomou pomocí z mnoha příspěvků, blogů a protokolů pošty, které jsem četl. Dal bych odkazy, kdybych si vzpomněl.

Stručně řečeno, přeinstaloval jsem VŠECHNO pomocí MacPorts.

Po úpravě ~/.bash_profile a okomentování všech předchozích úprav ${PATH} jsem si stáhl dmg pro Snow Leopard a prošel jeho instalací.

Poté otevřete terminál a spusťte vlastní aktualizaci.

sudo port selfupdate
sudo port install python26

Tato druhá část, instalace Pythonu 2.6, trvala věčnost. Ale když to skončilo, vyzvalo mě to k následujícímu:

To fully complete your installation and make python 2.6 the default, please run

sudo port install python_select  
sudo python_select python26

Udělal jsem obojí a šlo to rychle.

Zapomněl jsem zmínit, jak šikovný je příkaz 'port search'. Hledal jsem 'mysql' a podobné, abych našel věc, která se má napsat po 'install'. Ale pokračoval jsem v přeinstalaci klienta i serveru pro MySQL. Možná jsem to udělal v opačném pořadí, ale konečný výsledek fungoval dobře.

sudo port install mysql5
...
--->  Installing mysql5 @5.1.41_0
The MySQL client has been installed.
If you also want a MySQL server, install the mysql5-server port.

Takže přirozeně:

sudo port install mysql5-server

Líbí se mi, jak vám tolik instalací macportů poskytuje zpětnou vazbu, co dělat dál. Na konci instalace serveru to řeklo následující:

******************************************************
* In order to setup the database, you might want to run
* sudo -u _mysql mysql_install_db5
* if this is a new install
******************************************************

Byla to pro mě nová instalace (neměla žádná místní schémata). Pro úplnost a pro mou vlastní informaci zde je výstup spuštění tohoto příkazu:

Installing MySQL system tables...
OK
Filling help tables...
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 iMac.local password 'new-password'

Alternatively you can run:
/opt/local/lib/mysql5/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

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 /opt/local/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 at http://www.mysql.com/
Support MySQL by buying support/licenses from http://shop.mysql.com/

Skoro hotovo. Dříve jsem při svém „hledání přístavu“ narazil na tento zajímavý port:

py26-mysql @1.2.2 (python, devel, databáze) Rozhraní Pythonu k mysql

S velkou, velkou nadějí, že mi to poskytne balíček MySQLdb, jsem jej nainstaloval (a nainstaloval).

sudo port install py26-mysql

Poté jsem nastartoval pythonový interpret, který se pokusil importovat MySQLdb, přesně to, co mi celou dobu stálo v cestě.

iMac:~ drhoden$ python
Python 2.6.4 (r264:75706, Dec 15 2009, 18:00:14) 
[GCC 4.2.1 (Apple Inc. build 5646) (dot 1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/MySQLdb/__init__.py:34: DeprecationWarning: the sets module is deprecated from sets import ImmutableSet
>>> 

Varování, ale fungovalo to!!

Ještě jedna věc:

sudo port install py26-django

Po tom všem jsem byl konečně schopen rozjet svůj projekt Django a vzdáleně se připojit k serveru MySQL mé společnosti!! Možná nebylo nutné přeinstalovat Django pomocí MacPorts, ale nehodlal jsem riskovat komplikace.



  1. BIT(1) nebo TINYINT pro příznaky v MySQL

  2. utf8_bin vs. utf_unicode_ci

  3. Mysql_real_escape_string() Nelze vytvořit odkaz na server

  4. Uložit pole PHP do MySQL?