I am running a cron job every 15 mins thats pulls in feeds and then stores them to a database, from a fresh new database this works fine and i can see my database been populated every 15 minutes.
But after say two weeks the database seems to hit its maximum limit and will not store anymore data well i certainly cant pull it down through my code ignitor app, what is the best way to deal with high amounts of data?
I am working with a dedicated server and have limited knowledge of high data demands on mysql before. here are the settings in my /etc/my.cnf
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
innodb_buffer_pool_size=2M
innodb_additional_mem_pool_size=500K
innodb_log_buffer_size=500K
innodb_thread_concurrency=2
[mysqld]
local-infile=0
datadir=/var/lib/mysql
user=mysql
symbolic-links=0
max_connections = 100
wait_timeout = 60
query-cache-type = 1
query-cache-size = 8M
query_cache_limit = 2M
thread_cache_size = 8
tmp_table_size = 16M
max_heap_table_size = 16M
join_buffer_size = 1M
table_open_cache = 64
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
innodb_log_buffer_size = 8M
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
What is the max sensible settings that i can set to make my sql last for a long time, and yes i do not know alot about this just really need to keep this running as i cant clear the data and then start populating the database again, i need it to keep storing.
Thanks is advance 😉
UPDATED
WOW i have no idea what most off this means doesn’t look good tho
120803 08:45:19 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120803 8:45:19 [Note] Plugin 'FEDERATED' is disabled.
120803 8:45:19 InnoDB: Initializing buffer pool, size = 8.0M
120803 8:45:19 InnoDB: Completed initialization of buffer pool
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
120803 8:45:19 InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
120803 8:45:19 InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
120803 8:45:19 InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
120803 8:45:19 InnoDB: Started; log sequence number 0 0
120803 8:45:19 [Note] Event Scheduler: Loaded 0 events
120803 8:45:19 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.1.54' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL) by Remi
120803 8:45:21 [Note] /usr/libexec/mysqld: Normal shutdown
120803 8:45:21 [Note] Event Scheduler: Purging the queue. 0 events
120803 8:45:21 InnoDB: Starting shutdown...
120803 8:45:25 InnoDB: Shutdown completed; log sequence number 0 721938
120803 8:45:25 [Note] /usr/libexec/mysqld: Shutdown complete
120803 08:45:25 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
120803 08:45:25 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120803 8:45:25 [Note] Plugin 'FEDERATED' is disabled.
120803 8:45:25 [Warning] option 'innodb-additional-mem-pool-size': signed value 512000 adjusted to 524288
120803 8:45:25 InnoDB: Initializing buffer pool, size = 2.0M
120803 8:45:25 InnoDB: Completed initialization of buffer pool
120803 8:45:25 InnoDB: Started; log sequence number 0 721938
120803 8:45:25 [Note] Event Scheduler: Loaded 0 events
120803 8:45:25 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.1.54' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL) by Remi
120803 8:47:37 [Note] /usr/libexec/mysqld: Normal shutdown
120803 8:47:37 [Note] Event Scheduler: Purging the queue. 0 events
120803 8:47:37 InnoDB: Starting shutdown...
120803 8:47:40 InnoDB: Shutdown completed; log sequence number 0 1357212
120803 8:47:40 [Note] /usr/libexec/mysqld: Shutdown complete
120803 08:47:40 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
120803 08:47:41 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120803 8:47:41 [Note] Plugin 'FEDERATED' is disabled.
120803 8:47:41 InnoDB: Initializing buffer pool, size = 16.0M
120803 8:47:41 InnoDB: Completed initialization of buffer pool
120803 8:47:41 InnoDB: Started; log sequence number 0 1357212
120803 8:47:41 [Note] Event Scheduler: Loaded 0 events
120803 8:47:41 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.1.54' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL) by Remi
120803 8:47:44 [Note] /usr/libexec/mysqld: Normal shutdown
120803 8:47:44 [Note] Event Scheduler: Purging the queue. 0 events
120803 8:47:44 InnoDB: Starting shutdown...
120803 8:47:46 InnoDB: Shutdown completed; log sequence number 0 1357212
120803 8:47:46 [Note] /usr/libexec/mysqld: Shutdown complete
120803 08:47:46 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
120803 08:48:08 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120803 8:48:08 [Note] Plugin 'FEDERATED' is disabled.
120803 8:48:08 InnoDB: Initializing buffer pool, size = 16.0M
Sorry this question is getting stupidly long but just trying to update with what i need below is my insert with codeignitor how should i be doing this correctly connecting and disconnecting
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Cron_model extends CI_Model {
function addResults($data){
$this->db->select('*');
$this->db->from('articles');
$this->db->limit(5);
$this->db->like('title', $data['title']);
$this->db->order_by("date", "desc");
$query=$this->db->get();
if(!$query->num_rows()){
$this->db->insert('articles', $data);
return $data['title'];
}
}
}
Thanks for the help everyone
How are you connecti g to the database? For the process you are describing you should be connecting and disconnecting each time.