UGN Security

Connecting to MySQL and using dump files from the command line

Posted By: §intå×

Connecting to MySQL and using dump files from the command line - 02/13/03 07:13 AM

With all the neat tools like PHPmyAdmin out there few bother to learn the command line any more. I decided I wanted to learn and decided to share some with you. In this lesson "$" will represent the command prompt. I put this in the Unix section because Mysql is widely used in web design, but it's uses reach far beyond that.. All info came from which I found a bit cryptic in some sections.

Now first thing you have to do is connect to the data base. This is done like so.

$ mysql -u User_name_here -p *nothing after the p you will be prompted*

Enter passward

It will look like so on your screen

$ mysql -u User_name_here -p
Enter passward *******

Login sucessful...

Now you are ready to start queries and storing data. Lets look at how this works shall we? You will notice your prompt now is "mysql>" This lets you know you are in. By the way type "exit" or "Quit" or "Ctrl_D" maybey "Ctrl_z" should put you back at a regular command prompt.

Now the first thing you will need is of course a database. To see all data bases do a "Show Databases"


Notice the ";" This is needed to end the command if you do not type in ";" you might get something like this


If you so simpley type in the ";".


You will get some out put that looks something like this.

| Database |
| mysql    |
| test     |
| tmp      |
If you do not have a data base that you have created you will need to do so. Here is how you create a database.

mysql> CREATE DATABASE Database1;

Pretty easy right? You will also need to create a table in your database. For this I will give you a simple table but you will have to read up on different types of fields and table structure. I could write a book on this alone. See the following links

There are so many other links I could list but these should lead you where you need to look. Now for a basic table. Lets say we want to create an email address book. We need the

First name
Last name
Date data was inserted (so we know if it could be outdated)
email address
A point of refference as to call the data up with.

mysql> CREATE TABLE Email_table (Fname VARCHAR(25), Lname VARCHAR(25), Date VARCHAR(10), email VARCHAR(255), id int(4) NOT NULL auto_increment) PRIMARY KEY (id);

Look kind of complicated? It realy isn't. You see the VARCHAR(25) in there? VARCHAR is just what type of field this will be. In this case this field will hold text. The (25) part is just how many charaters will be allowed to be stored in this field. So "Fname" will be a field in the table that will store the First name. Not too many people have names with more than 25 charaters so we seet 25 as the limit. The other type of field you see is "int". Or integer. This is a numeric field.

id is a numeric field that will auto increment. This means only number will go in here. You do not ever have to put anything in this field it will automaticaly cout each time a new row is added. That is, the first time you insert any data id field will be set to one. The next time or row it will be set to 2. This is a constant that you can use in scripts to grab and manipulate data.

If you do a "DESCRIBE" command you can see the basic structure of your data.

mysql> DESCRIBE Email_table;

*rember the ";"

This will give you something like

mysql> DESCRIBE Email_table;
| Field   | Type        | Null | Key | Default | Extra |
| Fname   | varchar(25) |      |     | NULL    |       |
| Lname   | varchar(25) |      |     | NULL    |       |
| Date    | varchar(10) |      |     | NULL    |       |
| Email   | varchar(255)|      |     | NULL    |       |
| id      | int(11)     |      | Pri | NULL    |       |
Next we want to insert some data right. To do this we will use the insert command.

mysql> INSERT INTO Email_table Values 'admin', 'Gizmo', '01/13/2003', '[email protected]');


mysql> INSERT INTO Email_table
-> Values ('admin', 'Gizmo', '01/13/2003', '[email protected]');

Hit enter and watch the data go. Well not realy, but it is in there now. Want to see?

mysql> Select * FROM Email_table;
YOu should see all the data nicely grided out for you. Well there are the basics of Mysql from the command line.
Posted By: §intå×

Re: Connecting to MySQL and using dump files from the command line - 02/13/03 07:18 AM

Oh I almost forgot the part about using dump files. If local put the dump file in a directory you can rember, if remote FTP file up to a directory you want to use. For this we use the "SOURCE" command.

First login to Mysql, and get into the database (db) you want to use. To do this use the "USE" command.

mysql> USE Database1
Database Changed

now we want to use our *.sql file to dump a large amout of data into the database.

mysql> source "/path/to/directory/dump_file.sql";

Then just let it run. That simple.
Posted By: §intå×

Re: Connecting to MySQL and using dump files from the command line - 02/13/03 07:19 AM

All of this should work in telnet also.
Posted By: Predator

Re: Connecting to MySQL and using dump files from the command line - 02/13/03 01:55 PM

You also can use the mysqldump program located in the bin dir of mysql.

./mysqldump -u root -pPass --all-databases >backup.sql

This will dump your whole mysql database.
To dump a specific database:
./mysqldump -u root -pPass --opt database > backup.sql

To put the whole database back:
./mysql -u root -pPass < backup.sql

To put one back:
./mysql -u root -pPass database < backup.sql
Posted By: Gremelin

Re: Connecting to MySQL and using dump files from the command line - 02/13/03 09:32 PM

Learner, if you have the time i have a favor/project for you wink ...
© 2018 UGN Security Forum