Create a specific user for backups purpose with read-only permissions
GRANT SHOW DATABASES, SELECT, LOCK TABLES, RELOAD ON *.* to backup@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Copier ceci sur votre site: <script type="text/javascript" src="http://www.posteet.com/embed/2082"></script>
binary
SELECT * FROM `table` WHERE BINARY `COLUMN` = 'value'
Copier ceci sur votre site: <script type="text/javascript" src="http://www.posteet.com/embed/2078"></script>
SELECT id,title INTO OUTFILE "c:/result.text"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "n"
FROM property;
Copier ceci sur votre site: <script type="text/javascript" src="http://www.posteet.com/embed/2074"></script>
Il faut avoir un backup de base tel qu'il y ait un dossier par base de donnée, un fichier SQL compressé par table. "-P 4" désigne le nombre de core.
find -print0 | xargs -0 -n 1 -P 4 -I {} sh -c "zcat '{}' | mysql mydatabase"
Copier ceci sur votre site: <script type="text/javascript" src="http://www.posteet.com/embed/2071"></script>
Scripted install of MySQL
echo mysql-server mysql-server/root_password select PASSWORD | debconf-set-selections
echo mysql-server mysql-server/root_password_again select PASSWORD | debconf-set-selections
aptitude -y install mysql-server libmysqlclient15-dev
Copier ceci sur votre site: <script type="text/javascript" src="http://www.posteet.com/embed/2060"></script>
from django.db import load_backend, transaction, connection
#manipular datos de una bd externa
def sincronizeDB(self):
myBackend = load_backend('mysql') # or 'mysql', 'sqlite3', 'oracle'
myConnection = myBackend.DatabaseWrapper({
'DATABASE_HOST': '192.168.1.11',
'DATABASE_NAME': 'agenciaperu_local',
'DATABASE_OPTIONS': {},
'DATABASE_PASSWORD': "",
'DATABASE_PORT': "",
'DATABASE_USER': "root",})
# Now we can do all the standard raw sql stuff with myConnection.
myCursor = myConnection.cursor()
id = 22
name = "tecnologia para jos"
slug = "tecnologia_para_jos"
row = myCursor.execute("INSERT INTO category(name, slug ) values(%s,%s);", [name, slug])
row = myConnection._commit()
#row = transaction.rollback_unless_managed() -----> sería cuando trabajamos en local
# select simple
#row = myCursor.execute("select *from category where id = %s and highlight = %s;",[id,0])
myCursor.fetchall()
Copier ceci sur votre site: <script type="text/javascript" src="http://www.posteet.com/embed/2056"></script>
#terminal
C:\>mysql -uroot -p
mysql> SELECT version();
# cliente mysql
SELECT version();
Copier ceci sur votre site: <script type="text/javascript" src="http://www.posteet.com/embed/1787"></script>
agregar una columna despues de otra
ALTER TABLE media add COLUMN status VARCHAR (20) after component
Copier ceci sur votre site: <script type="text/javascript" src="http://www.posteet.com/embed/1780"></script>
#dump
mysqldump -hlocalhost -uuser -ppassword nomdatabase> nomdatabase.sql
#restore
mysql -hlocalhost -uuser -ppassword nomdatabase < nomdatabase
Copier ceci sur votre site: <script type="text/javascript" src="http://www.posteet.com/embed/1775"></script>
a partir de mysql 5.0
SELECT TIMESTAMPDIFF(DAY,'2005-01-02','2006-01-08');
Copier ceci sur votre site: <script type="text/javascript" src="http://www.posteet.com/embed/1772"></script>