Also see: DBI/MySQL FAQ
show databases; use db show tables describe table mysql database < text_file # to read commands from a text file. ################################## Sample Perl/DBI code use DBI(); my $dbh = DBI->connect("DBI:mysql:dbname;localhost", "user", "pass", {'RaiseError' => 1}); my $sql = qq#select * from table#; my $sth = $dbh->prepare($sql); $sth->execute(); while (my $ref = $sth->fetchrow_arrayref()) { print "$ref->[0]\n"; } $sth->finish(); $dbh->disconnect(); ################################### mysqladmin reload mysqlaccess user db mysqlshow +-----------+ | Databases | +-----------+ | mysql | | test | +-----------+ mysqladmin -p create DATABASE Data Directory: /var/lib/mysql mysqladmin Ver 8.0 Distrib 3.22.32, for pc-linux-gnu on i686 TCX Datakonsult AB, by Monty This software comes with NO WARRANTY: see the file PUBLIC for details. Administer program for the mysqld demon Usage: mysqladmin [OPTIONS] command command.... -#, --debug=... Output debug log. Often this is 'd:t:o,filename` -f, --force Don't ask for confirmation on drop database; with multiple commands, continue even if an error occurs -?, --help Display this help and exit -C, --compress Use compression in server/client protocol -h, --host=# Connect to host -p, --password[=...] Password to use when connecting to server If password is not given it's asked from the tty -P --port=... Port number to use for connection -i, --sleep=sec Execute commands again and again with a sleep between -r, --relative Show difference between current and previous values when used with -i. Currently works only with extended-status -s, --silent Silently exit if one can't connect to server -S, --socket=... Socket file to use for connection -t, --timeout=... Timeout for connection to the mysqld server -u, --user=# User for login if not current user -V, --version Output version information and exit -w, --wait[=retries] Wait and retry if connection is down Default options are read from the following files in the given order: /etc/my.cnf ~/.my.cnf The following groups are read: mysqladmin client The following options may be given as the first argument: --print-defaults Print the program argument list and exit --no-defaults Don't read default options from any options file --defaults-file=# Only read default options from the given file # Where command is a one or more of: (Commands may be shortened) create databasename Create a new database drop databasename Delete a database and all its tables extended-status Gives an extended status message from the server flush-hosts Flush all cached hosts flush-logs Flush all logs flush-status Clear status variables flush-tables Flush all tables flush-privileges Reload grant tables (same as reload) kill id,id,... Kill mysql threads password new-password Change old password to new-password ping Check if mysqld is alive processlist Show list of active threads in server reload Reload grant tables refresh Flush all tables and close and open logfiles shutdown Take server down status Gives a short status message from the server variables Prints variables available version Get version info from server
- Via a SQL CommandA) The Server process (mysqld) loads the file. mysql> load data infile '/home/data/mytable.dat' into table mytable;
B) The Client process (mysql) loads the file.
mysql> load data local infile 'mytable.dat' into table mytable;
- Via a mysqlimportmysqlimport use the --local option if importing from a local file mysqlimport Ver 1.3 Distrib 3.22.25, for pc-linux-gnu (i586) Monty & Jani. This software is in public Domain This software comes with ABSOLUTELY NO WARRANTY Loads tables from text files in various formats. The base name of the text file must be the name of the table that should be used. If one uses sockets to connect to the MySQL server, the server will open and read the text file directly. In other cases the client will open the text file. The SQL command 'LOAD DATA INFILE' is used to import the rows. Usage: mysqlimport [OPTIONS] database textfile... -#, --debug[=...] Output debug log. Often this is 'd:t:o,filename` -?, --help Displays this help and exits. -C, --compress Use compression in server/client protocol -d, --delete Deletes first all rows from table. -f, --force Continue even if we get an sql-error. -h, --host=... Connect to host. -i, --ignore If duplicate unique key was found, keep old row. -l, --lock-tables Lock all tables for write. -L, --local Read all files through the client -p, --password[=...] Password to use when connecting to server. If password is not given it's asked from the tty. -P, --port=... Port number to use for connection. -r, --replace If duplicate unique key was found, replace old row. -s, --silent Be more silent. -S, --socket=... Socket file to use for connection. -u, --user=# User for login if not current user. -v, --verbose Print info about the various stages. -V, --version Output version information and exit. --fields-terminated-by=... Fields in the textfile are terminated by ... --fields-enclosed-by=... Fields in the importfile are enclosed by ... --fields-optionally-enclosed-by=... Fields in the i.file are opt. enclosed by ... --fields-escaped-by=... Fields in the i.file are escaped by ... --lines-terminated-by=... Lines in the i.file are terminated by ... mysql mysql Ver 9.16 Distrib 3.21.33, for pc-linux-gnu (i586) By TCX Datakonsult AB, by Monty This software comes with ABSOLUTELY NO WARRANTY. Usage: mysql [OPTIONS] [database] -A, --no-auto-rehash No automatic rehashing. One has to use 'rehash' to get table and field completion. This gives a quicker start of mysql. -B, --batch Print results with a tab as separator, each row on a new line. Doesn't use history file -#, --debug=... Output debug log. Often this is 'd:t:o,filename` -T, --debug-info Print some debug info at exit -e, --execute=... Execute command and quit.(--batch is implicit) -f, --force Continue even if we get an sql error. -?, --help Display this help and exit -h, --host=... Connect to host -n, --unbuffered Flush buffer after each query -O, --set-variable var=option Give a variable an value. --help lists variables -p[password], --password[=...] Password to use when connecting to server If password is not given it's asked from the tty. -P --port=... Port number to use for connection -q, --quick Don't cache result, print it row by row. This may slow down the server if the output is suspended. Doesn't use history file -r, --raw Write fields without conversion. Used with --batch -s, --silent Be more silent. -S --socket=... Socket file to use for connection -t --table=... Output in table format -u, --user=# User for login if not current user -v, --verbose Write more (-v -v -v gives the table output format) -V, --version Output version information and exit -w, --wait Wait and retry if connection is down Possibly variables to option --set-variable (-O) are: net_buffer_length current value: 16384l mysqldump mysqldump Ver 7.1 Distrib 3.22.32, for pc-linux-gnu (i686) By Igor Romanenko, Monty, Jani & Sinisa. This software is in public Domain This software comes with ABSOLUTELY NO WARRANTY Dumping definition and data mysql database or table Usage: mysqldump [OPTIONS] database [tables] -a, --all Include all MySQL specific create options -#, --debug=... Output debug log. Often this is 'd:t:o,filename` -?, --help Display this help message and exit. -c, --complete-insert Use complete insert statements. -C, --compress Use compression in server/client protocol -e, --extended-insert Allows utilization of the new, much faster INSERT syntax --add-drop-table Add a 'drop table' before each create --add-locks Add locks around insert statements --allow-keywords Allow creation of column names that are keywords --delayed-insert Insert rows with INSERT DELAYED -F --flush-logs Flush logs file in server before starting dump -f, --force Continue even if we get an sql-error. -h, --host=... Connect to host. -l, --lock-tables Lock all tables for read. -t, --no-create-info Don't write table creation info. -d, --no-data No row information. -O, --set-variable var=option give a variable a value. --help lists variables --opt Same as --add-drop-table --add-locks --all --extended-insert --quick --lock-tables -p, --password[=...] Password to use when connecting to server. If password is not given it's solicited on the tty. -P, --port=... Port number to use for connection. -q, --quick Don't buffer query, dump directly to stdout. -Q, --quote-names Quote table and column names with ` -S, --socket=... Socket file to use for connection. -T, --tab=... Creates tab separated textfile for each table to given path. (creates .sql and .txt files). NOTE: This only works if mysqldump is run on the same machine as the mysqld daemon. -u, --user=# User for login if not current user. -v, --verbose Print info about the various stages. -V, --version Output version information and exit. -w, --where= dump only selected records; QUOTES mandatory! EXAMPLES: "--where=user='jimf'" "-wuserid>1" "-wuserid<1" Use -T (--tab=...) with --fields-... --fields-terminated-by=... Fields in the textfile are terminated by ... --fields-enclosed-by=... Fields in the importfile are enclosed by ... --fields-optionally-enclosed-by=... Fields in the i.file are opt. enclosed by ... --fields-escaped-by=... Fields in the i.file are escaped by ... --lines-terminated-by=... Lines in the i.file are terminated by ... Default options are read from the following files in the given order: /etc/my.cnf ~/.my.cnf The following groups are read: mysqldump client The following options may be given as the first argument: --print-defaults Print the program argument list and exit --no-defaults Don't read default options from any options file --defaults-file=# Only read default options from the given file # Possible variables for option --set-variable (-O) are: max_allowed_packet current value: 25165824 net_buffer_length current value: 1047551 insert into host(host,db,Select_priv,Insert_priv,Update_priv, Delete_priv,Create_priv,Drop_priv,Grant_priv,References_priv,Index_priv,Alter_priv) values('localhost','%','Y', 'Y', 'Y', 'Y', 'Y', 'Y','Y','Y','Y','Y'); INSERT INTO user ( Host, User, Password ) VALUES ( '%' ,'user',password('pass')); INSERT INTO user ( Host, User, Password, Select_priv ) VALUES ( '%' ,'phfh',password('phfh1'),"Y"); INSERT INTO db ( Host,DB,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,R eferences_priv,Index_priv,Alter_priv) VALUES ( '%','db','user',"Y","Y","Y","Y","Y","Y","Y","Y","Y") select Host,Db,User,Select_priv,Insert_priv,Update_priv from db; select Host,User,Password,Select_priv,Insert_priv,Update_priv,File_priv from user; Field Value Action ---------------------------------------- Host % any host Host blank consult host table DB blank any database DB % any database User blank anonymous user mysql> select * from db; +------+------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+ | Host | Db | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Grant_priv | References_priv | Index_priv | Alter_priv | +------+------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+ | % | test | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | +------+------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+ mysql> select * from user; +-----------------------+------+----------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+ | Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | +-----------------------+------+----------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+ | localhost | root | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | localhost.localdomain | root | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | localhost | | | N | Y | N | N | N | N | N | N | N | Y | N | Y | Y | Y | | localhost.localdomain | | | N | N | N | N | N | N | N | N | N | N | N | Y | Y | Y | +-----------------------+------+----------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+ |