Buat directory log mysql, misal
mkdir /var/log/mysql
chown mysql:mysql /var/log/mysql
Tambahkan baris berikut pada config file mysql my.cnf
[mysqld_safe]
log-error=/var/log/mysql/error.log
# The MySQL server
[mysqld]
log-error=/var/log/mysql/error.log
restart mysql
mengaktifkan log pada mysql
Merubah data directory pada mysql server FreeBSD Server
Secara default, jika kita install mysql server via port maka data-data dari database yang ada dalam mysql server akan tersimpan pada dir /var/db/mysql
Akan merepotkan kalau ternyata partisi /var kita terlalu kecil, sehingga data nambah sedikit aja partisi /var udah penuh.
Ada 2 cara untuk mensiasati hal tsb,
pertama ada merubah letak data directory pada file konfigurasi mysql kita my.cnf.
Hal ini memerlukan perubahan pada file konfigurasi my.cnf
# ee /var/db/mysql/my.cnf
[mysqld]
datadir=/data/mysqlbaru
Create directory tempat data baru disimpan
# mkdir /data/mysqlbaru
merubah owner directory tsb menjadi milik mysql
#chown -R mysql:mysql /data/mysqlbaru
kemudian start mysql
# /usr/local/etc/rc.d/mysql-server start
Cara kedua adalah dengan memindah dan melakukan linking directory mysql.
Detailnya sbb :
matikan server :
# /usr/local/etc/rc.d/mysql-server stop
# cd /var/db
pindahkan directory data mysql ke directory baru yang kapasitasnya lebih lega :
# mv mysql /data
lakukan linking directory
# ln -s /data/mysql /var/db/mysql
start server :
# /usr/local/etc/rc.d/mysql-server start
Cara eksport dan import database mysql di unix based
database | Thursday, October 29, 2009
Cara untuk eksport database mysql via console bisa dilakukan sbb :
# mysqldump -uusernya -ppasswordnya master > backup.sql
Perintah diatas akan melakukan export data pada database master kedalam file backup.sql
Sedangkan cara untuk import database sbb:
# mysqldump -uusernya -ppasswordnya dbbaru backup.sql
Namun jika database yang di import besar ratusan MB dpt digunakan cara sbb :
# mysql -u root -p
# use dbbaru;
# source /home/aku/backup.sql
Yatta!!.. berhasil.. berhasil.. alhamdulillah...moga2 saja bisa untuk backup database sampe satu GB huehue..
Innodb di mysql
database | Wednesday, March 05, 2008
Innodb?
Saya juga barusan tahu koq, berikut ini kutipan mengenai innodb (diambil dari sini & tambahan untuk setting di mysql ver 5 saya yg terinstall di FreeBSD 5.4).
Tipe database di MySQL secara default adalah MyIsam, selain itu mysql juga mendukung untuk tipe database InnoDB dan BerkeleyDB. Database tipe InnoBD supports transactions, row-level locking, dan foreign keys. Membuat tabel tipe InnoDB sama saja dengan MyISAM, cuma ada sedikit perbedaan pada tipe ENGINE yang digunakan.
Contohnya:
CREATE TABLE parent (id INT NOT NULL, PRIMARY KEY (id)) ENGINE=INNODB;
CREATE TABLE child (id INT, parent_id INT, INDEX par_ind (parent_id), FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE) ENGINE=INNODB;
jika tidak menuliskan ENGINE=INNODB maka tipe tabel yang terbentuk adalah MyISAM.
ON DELETE CASCADE maksudnya apabila ada record di tabel parent yang dihapus maka pada tabel child record yang terkait dengan record parent akan ikut terhapus juga.Terdapat berbagai macam option-option lainnya seperti : ON DELETE RESTRICT, ON UPDATE CASCADE, dll yang bisa digunakan sesuai kebutuhan database.
Untuk mengaktifkan innodb, edit file /etc/my.conf dan pada sesi innodb sbb :
# Uncomment the following if you are using
InnoDB tablesinnodb_data_home_dir = /usr/local/mysql/var/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/var/
innodb_log_arch_dir = /usr/local/mysql/var/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
OK, save dan restart mysqlnya.
Done.. done.. minum dulu ahh.. hauss..
Instalasi Mysql Server
MySQL install :
Download binary mysql-5.0.21.tar.gz
# tar xvf mysql-5.0.21.tar.gz
# cd mysql-5.0.21
# ./configure --prefix=/opt/mysql --with-mysqld-user=mysql
# make all && make install
# Install the base database
/opt/mysql/bin/mysql_install_db
# Add a “mysql” user to your system: (MySQL should not need to run as root!)
pw groupadd mysql
pw useradd mysql -g mysql
# Set permissions to correct owner
chown -R mysql:mysql /opt/mysql/
# Start the server
/opt/mysql/bin/mysqld_safe &
# Perform Basic Checks
/opt/mysql/bin/mysqladmin version
/opt/mysql/bin/mysqladmin variables
# Set a Password!
/opt/mysql/bin/mysqladmin -u root password wekQ
# Add a "database" user with password and grant that user permission to connect
/opt/mysql/bin/mysql --user=root --password mysql
wekQ
GRANT ALL PRIVILEGES ON *.* TO mysql@localhost IDENTIFIED BY 'wekQ' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO mysql@"%" IDENTIFIED BY 'wekQ' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
# Run some tests before going into production (optional)
/opt/mysql/mysql-test/mysql-test-run --force
Copy and test the "rc" boot time startup script
# Copy the "rc" startup script
cp /usr/src/mysql-5.0.21/support-files/mysql.server /usr/local/etc/rc.d/mysql.sh
chmod 755 /usr/local/etc/rc.d/mysql.sh
# Test the "rc" script
/usr/local/etc/rc.d/mysql.sh restart
/usr/local/etc/rc.d/mysql.sh stop
/usr/local/etc/rc.d/mysql.sh start
/usr/local/etc/rc.d/mysql.sh reload