{{parent page="Mysql"}} === First steps === After installing mysql, an initial database must be created, and some parameters should be passed to mysqld. == Create a /etc/my.cnf == %%(text;my.cnf) [client] port=3306 [mysqld] port=3306 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock old_passwords=1 # enable after creating initial database # log_slow_queries=/var/mysql/mysql-slow.log # tunning max_connections=50 key_buffer=64M table_cache=100 wait_timeout=180 max_allowed_packet=4M # Try number of CPU's*2 for thread_concurrency thread_concurrency = 2 # innodb default-table-type=innodb innodb_flush_log_at_trx_commit=1 innodb_buffer_pool_size=16M innodb_log_file_size=10M innodb_log_buffer_size=5M innodb_data_home_dir=/var/mysql/ibdata/ innodb_file_per_table innodb_data_file_path=ibdata1:10M:autoextend #this is for undo and other system data [mysqldump] quick quote-names max_allowed_packet=16M %% == Creating mysql initial database == %%(bash) cd /usr/local/mysql scripts/mysql_install_db --user=mysql %% ==Starting mysql== I have this in my /service/mysql/run. Alternatively, you can use the same options on mysqld_safe. Note, --default-files must be the first parameter supplied. %%(bash) exec /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/var/mysql/data --log-warnings %% ==Creating database and tables== %%(sql) create database mydb; use mydb; create table mytable(name varchar(20)) engine=InnoDB; %% ==Migrating MyISAM table to InnoDB== %%(sql) alter table TABLE_NAME engine=InnoDB; %% === User admin === To add user: %%(sql) GRANT ALL PRIVILEGES ON ~.~ TO myUser@localhost IDENTIFIED BY 'pass' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON ~.~ TO myUser@"%" IDENTIFIED BY 'some_pass' WITH GRANT OPTION; %% To remove user: %%(sql) delete from user where user='username'; FLUSH PRIVILEGES; %% ===Installing from source=== This was used to compile mysql-5.1.29rc. --enable-innodb is not documented in configure --help but without it, mysql will be built without innodb! Ref: http://venublog.com/2008/04/21/mysql-5124-innodb-plugin-10-failures-server-crash/ In 5.1.30ga, --enable-innodb is no longer supported / required. %% ./configure \ --prefix=/usr/local/mysql \ --sysconfdir=/etc \ --enable-local-infile \ --with-charset=utf8 \ --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-mysqld-user=mysql \ --with-ssl=/usr/local/ssl \ --with-plugins=csv,heap,innobase,myisam,myisammrg,partition,ftexample,archive,federated %% Running into problems? Check http://dev.mysql.com/doc/refman/5.1/en/compilation-problems.html