I am trying to migrate data into MySQL from a text file and I am getting an error

////////////Error/////////////////

The table 'table_name' is full
///////////End Error/////////////

How do I up the table size?

I am using MySQL 4.0.14

Thanks

    file sizes are an OS limit...you didn't mention how big the db is or what it contains so can't really help you there...

    consider maybe splitting the table in pieces...on dates for example

      If you're routinely gonna handle data sets that large, you might wanna look at postgresql, which has no such limits.

        FYI, this is straight from the mysql website

        1.2.4 How Big Can MySQL Tables Be?

        MySQL Version 3.22 had a 4 GB (4 gigabyte) limit on table size. With the MyISAM table type in MySQL Version 3.23, the maximum table size was pushed up to 8 million terabytes (2 ^ 63 bytes).

        In effect, then, the table size for MySQL databases is normally limited by the operating system.

        Note, however, that operating systems have their own file-size limits. Here are some examples:

          hmmm. Maybe he's running out of disk space?

            Originally posted by Sxooter
            hmmm. Maybe he's running out of disk space?

            dunno, maybe he's been h4x0r3d and someone is pubbing his box

              I am trying to migrate data into MySQL from a text file and I am getting an error

              ////////////Error/////////////////
              The table 'table_name' is full
              ///////////End Error/////////////

              ////////Server Specs///////////
              MySQL 4.0.14
              Disk Space (80 gigs)
              Red Hat 7.3 (Kernel 2.4.20-18.7)
              Table size 3.9 gigs (maxed out at 48 million rows)
              Text File 4 gigs (50 million record sets containing email addresses, Enums, Int and date data types)
              /////////Server Specs End////

              I have tried to ALTER TABLE table_name MAX_ROWS=10000000; and the telnet session just freezes up. Are there any other variables that can be manipulated in MySQL to extend table size?

              If you can help with an intelligent (real answer) I would appreciate it. Please don't reply with "you should use PostGres" or some other non relevant gibberish, I really need a solution to get over this hump.

              Thanks

                Some other non-relavant information, like information straight from mysql.com, i think that response was pretty relavant

                  Can some one please read my comlpete post and help?

                  I am trying to migrate data into MySQL from a text file and I am getting an error

                  ////////////Error/////////////////
                  The table 'table_name' is full
                  ///////////End Error/////////////

                  ////////Server Specs///////////
                  MySQL 4.0.14
                  Disk Space (80 gigs)
                  Red Hat 7.3 (Kernel 2.4.20-18.7)
                  Table size 3.9 gigs (maxed out at 48 million rows)
                  Text File 4 gigs (50 million record sets containing email addresses, Enums, Int and date data types)
                  /////////Server Specs End////

                  I have tried to ALTER TABLE table_name MAX_ROWS=10000000; and the telnet session just freezes up. Are there any other variables that can be manipulated in MySQL to extend table size?

                  If you can help with an intelligent (real answer) I would appreciate it. Please don't reply with "you should use PostGres" or some other non relevant gibberish, I really need a solution to get over this hump.

                  Thanks

                    MySQL has limits, and you've hit them.

                    Switch databases or wait for MySQL to code around these limits.

                    I don't see how that's gibberish. It's quite clear really.

                    I'm done being insulted for pointing out the fact that you're using the wrong dbms engine for what you're doing and being insulted. Someone else will have to help you.

                      you should probably chill out, you haven't taken any suggestions or even tried them

                      did you read this paragraph

                      By default, MySQL tables have a maximum size of about 4 GB. You can check the maximum table size for a table with the SHOW TABLE STATUS command or with the myisamchk -dv table_name. See section 4.5.7 SHOW Syntax.

                      wow, seems kinda clear to me that you have 3.9 gig table size and the default max size for mysql is 4 gig, maybe that is causing problems, files/programs get kinda funny when getting close to their limits

                        Yes but I am using a version of mysql that is newer 3.23 that has a limit of 8 Terabytes.

                        MySQL Version 3.22 had a 4 GB (4 gigabyte) limit on table size. With the MyISAM table type in MySQL Version 3.23, the maximum table size was pushed up to 8 million terabytes (2 ^ 63 bytes).

                        So the question is how do I up the table size with MySQL?

                        I tried to alter the table MAX_ROWS and telnet freezes up.

                        Anyone out there have had to deal with this before? If so what did you do?

                        Thanks

                          Hey, I RTFM'd and found the answer.

                          Pity I don't feel like sharing it.

                            Originally posted by Sxooter
                            Hey, I RTFM'd and found the answer.

                            Pity I don't feel like sharing it.

                            it is a pity, but you can PM it to me so i at least know the answer, and if i'm kind enough later i just may share it

                              hey pm me too...since i was first into the fray with this

                                ALTER TABLE table_name MAX_ROWS = $foo;

                                is how you grow your table, telnet seems to freez up however it does commit to the database, you have to check to confirm

                                  have you tried using a PHP script to do it, rather than telnet, you can run that query just like any old query, you may want to set a fairly large timeout so the script doesn't prematurely end

                                  make sure to use an or die(mysql_error()); to see if it generates any errors