Friday, July 13, 2012

Mysql my.cnf backup

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port        = 3306
socket        = /var/run/mysqld/mysqld.sock

#utf8 
default-character-set = utf8

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket        = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
#
# * Basic Settings
#
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket        = /var/run/mysqld/mysqld.sock
port        = 3306
basedir        = /usr
datadir        = /var/lib/mysql
tmpdir        = /tmp
language    = /usr/share/mysql/english
skip-external-locking

#default is no detect not null
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

#utf8
character-set-server=utf8
collation-server=utf8_general_ci

#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address        = 127.0.0.1
#
# * Fine Tuning
#
key_buffer        = 16M
max_allowed_packet    = 16M
thread_stack        = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit    = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
#
# Here you can see queries with especially long duration
#log_slow_queries    = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id        = 1
#log_bin            = /var/log/mysql/mysql-bin.log
expire_logs_days    = 10
max_binlog_size         = 100M
#binlog_do_db        = include_database_name
#binlog_ignore_db    = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



[mysqldump]
quick
quote-names
max_allowed_packet    = 16M

[mysql]
#no-auto-rehash    # faster start of mysql but no tab completition

[isamchk]
key_buffer        = 16M

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/

Thursday, April 5, 2012

mysql 5.5.22 in Ubuntu 11.10 server

Because apt-get mysql only have 5.1.x , I want to use 5.5.x , so need this memo...


==Install==

sudo groupadd mysql

sudo useradd -r -g mysql mysql

cd /usr/local

sudo  tar zxvf mysql-5.5.22-linux2.6-i686.tar.gz

sudo ln -s mysql-5.5.22-linux2.6-i686 mysql

rm mysql-5.5.22-linux2.6-i686.tar.gz ( if you won't keep)

cd mysql

sudo chown -R mysql .

sudo chgrp -R mysql .


(sure /etc/my.cnf、mysql has been delete)

(sudo apt-get install libaio1 if no have)

scripts/mysql_install_db --user=mysql

if success , will see msg like:

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:


./bin/mysqladmin -u root password 'root'
./bin/mysqladmin -u root -h VWmare password 'new-password'


Alternatively you can run:
./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 . ; ./bin/mysqld_safe &


You can test the MySQL daemon with mysql-test-run.pl
cd ./mysql-test ; perl mysql-test-run.pl


Please report any problems with the ./bin/mysqlbug script!




==Setting==

sudo chown -R root .

sudo chown -R mysql data

sudo cp support-files/my-medium.cnf /etc/my.cnf

sudo cp support-files/mysql.server /etc/init.d/mysql.server


(start  mysql)
sudo bin/mysqld_safe --user=mysql &

(check is work listening 3306)
netstat -nat


(setting password)

./bin/mysqladmin -u root password 'new-password'

or

./bin/mysql_secure_installation



(use)

cd bin

./mysql -u root -p 'xxx'


(start in boot)

cd /etc/init.d/
sudo update-rc.d mysql.server defaults



(set character )

sudo vim /etc/mysql/my.cnf

[client]

default-character-set=utf8



[mysqld]

character-set-server=utf8
collation-server=utf8_general_ci


(use mysql check character)

mysql> show variables like 'character%';

will see:

| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |




==Remote==

sure my.cnf : skip-networking is marked 

ex: #skip-networking


mysql>grant all privileges on *.* to USER@IP identified by "PASSWORD";

mysql>FLUSH PRIVILEGES;

(more info : search mysql grant or mysql remote in google :P)



PS: Get error msg in   /usr/local/mysql/data/ubuntu.err

Monday, April 2, 2012

VirtualBox Shared Folders with Ubuntu Server Guest


Select Devices, CD/DVD Devices, VBoxGuestAdditions.iso.

(virtualbox => device => install GuestAddition)


sudo mount /dev/cdrom /media/cdrom


sudo apt-get install build-essential linux-headers-`uname –r`

(watch out  ` is different with ' , here is `)

sudo /media/cdrom/VBoxLinuxAddition.run

sudo reboot

sudo mkdir /mnt/host-downloads (some where you want to mount)

sudo mount –t vboxsf {host shared folder name} {guest mount directory }

(ex:    sudo mount –t vboxsf Downloads /mnt/host-downloads)

sudo umount  /mnt/host-downloads


ps: host folder name don't same to guest folder name
 

**list mounted devices**


df


mount

**auto mount**

important: 


disable setting : virtualbox's share folder auto-mount


(because it will conflict with our setting in fstab)

sudo vim /etc/fstab

add to last line:

 Downloads    /mnt/host-downloads    vboxsf    defaults


sudo reboot


done~