# -*- mode: conf -*- # ====================[ my.cnf ]==================== # [ Time-stamp: "2008-12-13 16:37:00 leycec" ] # The global mysql configuration file. # # --------------------( COMMAND-LINE )-------------------- # Manage MySQL accounts via the "mysqladmin" binary, like so: # # # Change the root password. # /usr/bin/mysqladmin -u root -h localhost password 'new-password' # # Manage MySQL contents via the "mysql" client, like so: # # # Access the MySQL server as the root account, interactively. # mysql -u root -h localhost -p # # # Access the MySQL server as the root account and run a batch script. # mysql -u root -h localhost -p < mysql_script.sql # # --------------------( COMMANDS )-------------------- # Manage MySQL contents, after logging in, like so: # # # Run a MySQL script. # source mysql_script.sql # # # List all databases. # SHOW DATABASES; # # # Create a new database (here, named "gentoo"). # CREATE DATABASE gentoo; # # # Select this new database as our session's current database. # USE gentoo; # # # List all tables of this database. # SHOW TABLES; # # # Create a new table in this database (here, named "developers"). # CREATE TABLE developers (name VARCHAR(128), email VARCHAR(128), job VARCHAR(128)); # # # Describe this new table. This lists columns, columns types, and metadata. # DESCRIBE developers; # # # Insert two records into this new table. # INSERT INTO developers VALUES('Joe Smith', 'joesmith@gentoo.org', 'toolchain'); # INSERT INTO developers (job, name) VALUES('outsourced', 'Jane Doe'); # # # Populate this new table with records from a tab-delimited file. # LOAD DATA LOCAL INFILE '~/records.txt' INTO TABLE developers; # # # List all records in this new table. Then, list a few more. # SELECT * FROM developers; # SELECT * FROM developers WHERE name = 'Chris White'; # SELECT email,job FROM developers WHERE name = 'Chris White'; # # # Create two users, with appropriate permissions. # GRANT ALL ON gentoo.* TO 'admin'@'localhost' IDENTIFIED BY 'some_password'; # GRANT SELECT ON gentoo.* TO 'guest'@'localhost' IDENTIFIED BY 'another_password'; # # # Prevent the "guest" user from accessing this new database. # REVOKE ALL ON gentoo.* FROM 'guest'@'localhost'; # # # List some relevant records for the "guest" user. # USE mysql; # SELECT Host,User FROM user WHERE User = 'guest'; # # # Delete the "guest" user, entirely. # DELETE FROM user WHERE User = 'guest'; # # # Quit! # quit # # --------------------( LINKS )-------------------- # "MySQL Column Types": http://dev.mysql.com/doc/mysql/en/column-types.html # "GRANT|Revoke Commands": http://dev.mysql.com/doc/mysql/en/grant.html # The following options will be passed to all MySQL clients [client] #password = your_password port = 3306 socket = /var/run/mysqld/mysqld.sock [mysql] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqladmin] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqlcheck] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqldump] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqlimport] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqlshow] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [myisamchk] character-sets-dir=/usr/share/mysql/charsets [myisampack] character-sets-dir=/usr/share/mysql/charsets # use [safe_mysqld] with mysql-3 [mysqld_safe] err-log = /var/log/mysql/mysql.err # add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations [mysqld] character-set-server = utf8 default-character-set = utf8 user = mysql port = 3306 socket = /var/run/mysqld/mysqld.sock pid-file = /var/run/mysqld/mysqld.pid log-error = /var/log/mysql/mysqld.err basedir = /usr datadir = /var/lib/mysql skip-locking # The following settings are inappropriate for development configurations. (That # is, they're heavy over-kill.) We apply a few lighter settings, instead. # key_buffer = 16M # max_allowed_packet = 1M # table_cache = 64 # sort_buffer_size = 512K # read_buffer_size = 256K # read_rnd_buffer_size = 512K # net_buffer_length = 8K key_buffer = 16K max_allowed_packet = 1M table_cache = 4 sort_buffer_size = 64K read_buffer_size = 256K read_rnd_buffer_size = 256K net_buffer_length = 2K thread_stack = 64K myisam_sort_buffer_size = 8M language = /usr/share/mysql/english # security: # using "localhost" in connects uses sockets by default # bind-address = 127.0.0.1 # Don't listen on a TCP/IP port at all. This can be a security enhancement, # if all processes that need to connect to mysqld run on the same host. # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # (using the "enable-named-pipe" option) will render mysqld useless! skip-networking # Uncomment the following if you want to log updates. (This produces a # collection of binary log-files, which tend to be quite large.) # log-bin server-id = 1 # point the following paths to different dedicated disks tmpdir = /tmp/ #log-update = /path-to-dedicated-directory/hostname # you need the debug USE flag enabled to use the following directives, # if needed, uncomment them, start the server and issue # #tail -f /tmp/mysqld.sql /tmp/mysqld.trace # this will show you *exactly* what's happening in your server ;) #log = /tmp/mysqld.sql #gdb #debug = d:t:i:o,/tmp/mysqld.trace #one-thread # Disable the FEDERATED storage engine, by default. (This is a storage engine # accessing remote table data of remote databases, rather than local tables.) skip-federated # uncomment the following directives if you are using BDB tables #bdb_cache_size = 4M #bdb_max_lock = 10000 # Disable the Berkeley DB storage engine, by default. (This is a transactional # storage engine using Berkely DB-style tables. However, MySQL deprecates this # storage engine and insists that it will not be supported, going forward.) skip-bdb # the following is the InnoDB configuration # if you wish to disable innodb instead # uncomment just the next line skip-innodb # # the rest of the innodb config follows: # don't eat too much memory, we're trying to be safe on 64Mb boxes # you might want to bump this up a bit on boxes with more RAM innodb_buffer_pool_size = 16M # this is the default, increase it if you have lots of tables innodb_additional_mem_pool_size = 2M # # i'd like to use /var/lib/mysql/innodb, but that is seen as a database :-( # and upstream wants things to be under /var/lib/mysql/, so that's the route # we have to take for the moment #innodb_data_home_dir = /var/lib/mysql/ #innodb_log_arch_dir = /var/lib/mysql/ #innodb_log_group_home_dir = /var/lib/mysql/ # you may wish to change this size to be more suitable for your system # the max is there to avoid run-away growth on your machine innodb_data_file_path = ibdata1:10M:autoextend:max:128M # we keep this at around 25% of of innodb_buffer_pool_size # sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size) innodb_log_file_size = 5M # this is the default, increase it if you have very large transactions going on innodb_log_buffer_size = 8M # this is the default and won't hurt you # you shouldn't need to tweak it set-variable = innodb_log_files_in_group=2 # see the innodb config docs, the other options are not always safe innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 innodb_file_per_table [mysqldump] quick max_allowed_packet = 16M [mysql] # no-auto-rehash # uncomment the next directive if you are not familiar with SQL #safe-updates [isamchk] # key_buffer = 20M # sort_buffer_size = 20M key_buffer = 8M sort_buffer_size = 8M read_buffer = 2M write_buffer = 2M [myisamchk] # key_buffer = 20M # sort_buffer_size = 20M key_buffer = 8M sort_buffer_size = 8M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout