Mysql command for linux

Команды MySQL в Linux

Ниже предоставлен список наиболее полезных и часто используемых команд MySQL с примерами.

mysql в начале строки означает, что команда выполняется после входа вMySQL.

Символ # или $ в начале строки означает, что команда выполняется из командной строки.

Что бы проверить статус сервера MYSQL выполните:

для FreeBSD:

# service mysql-server status

в CentOS / RHEL:

Что бы подключиться к серверу MySQL из консоли, если сервер MySQL находится на том же хосте:

Что бы подключиться к серверу MySQL из консоли, если сервер MySQL находится на удаленном хосте db1.example.com :

$ mysql -u username -p -h db1.example.com

Работа с базами, таблицами — просмотр, удаление, редактирование записей. Консоль

Создать базу данных на MySQL сервере:

mysql create database [databasename]

Показать список всех баз данных на сервере MySQL:

Отобразить все таблицы в базе данных:

Просмотреть формат таблицы в базе:

mysql describe [table name] ;
mysql drop database [database name];
mysql drop table [table name];

Показать все содержимое таблицы:

mysql SELECT * FROM [table name];

Отобразить столбцы и содержимое столбцов в выбранной таблице:

mysql show columns from [table name];

Отобразить строки в определенной таблице, содержащие » whatever «:

mysql SELECT * FROM [table name] WHERE [field name] = "whatever";

Отобразить все записи в определенной таблице, содержащие » Bob » и телефонный номер » 3444444 :

mysql SELECT * FROM [table name] WHERE name = " Bob " AND phone_number = ' 3444444 ';

Отобразить все записи, НЕ содержащие имя » Bob » и телефонный номер » 3444444 «, отсортированные по полю phone_number :

mysql SELECT * FROM [table name] WHERE name != " Bob " AND phone_number = ' 3444444 ' order by phone_number;

Показать все записи, начинающиеся с букв » bob » и телефонного номера » 3444444 » в определенной таблице:

mysql SELECT * FROM [table name] WHERE name like " Bob %" AND phone_number = ' 3444444 ';

Показать все записи, начинающиеся с букв ‘ bob » и телефонного номера » 3444444 «, ограничиваясь записями с 1-ой до 5-ой:

mysql SELECT * FROM [table name] WHERE name like " Bob %" AND phone_number = ' 3444444 ' limit 1,5;

Использование регулярных выражений ( «REGEXP BINARY» ) для поиска записей. Например, для регистро-независимого поиска — найти все записи, начинающиеся с буквы А :

mysql SELECT * FROM [table name] WHERE rec RLIKE "^ a ";

Показать все уникальные записи:

mysql SELECT DISTINCT [column name] FROM [table name] ;
mysql SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;

Показать количество строк в таблице:

mysql SELECT COUNT(*) FROM [table name] ;

Подсчитать количество столбцов в таблице:

mysql SELECT SUM(*) FROM [table name] ;
mysql alter table [table name] drop column [column name] ;

Добавление колонки в базу данных:

mysql alter table [table name] add column [new column name] varchar (20);
mysql alter table [table name] change [old column name][new column name] varchar (50);

Создать столбец с уникальным именем, что бы избежать дубликатов в названиях:

mysql alter table [table name] add unique ([column name]);

Изменение размера столбца:

mysql alter table [table name] modify [column name] VARCHAR(3);

Удаление столбца из таблицы:

mysql alter table [table name] drop index [colmn name];

Загрузка файла CSV в таблицу:

mysql LOAD DATA INFILE ' /tmp/filename.csv ' replace INTO TABLE [table name] FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n' ( field1,field2,field3 );

Пользователи, пароли сервера MySQL — добавление, изменение пользователей и паролей. Консоль

Создание нового пользователя — подключение к серверу MySQL под root, переключение к базе данных, добавление пользователя, обновление привилегий:

# mysql -u root -p mysql use mysql; mysql INSERT INTO user (Host,User,Password) VALUES('%',' username ', PASSWORD(' password ')); mysql flush privileges;

Изменений пользовательского пароля из консоли на удаленном хосте db1.example.org :

# mysqladmin -u username -h db1.example.org -p password ' new-password '

Изменение пользовательского пароля из консоли MySQL — подключение под root, обновление пароля, обновление привилегий:

# mysql -u root -p mysql SET PASSWORD FOR ' user '@' hostname ' = PASSWORD(' passwordhere '); mysql flush privileges;

Восстановление/изменение пароля root сервера MySQL — остановка MySQL, запуск без таблиц привилегий, подключение под root, установка нового пароля, выход и перезапуск MySQL.

# /etc/init.d/mysql stop # mysqld_safe -skip-grant-tables & # mysql -u root mysql use mysql; mysql update user set password=PASSWORD(" newrootpassword ") where User='root'; mysql ; flush privileges; mysql quit # /etc/init.d/mysql stop # /etc/init.d/mysql start

Set a root password if there is on root password.

# mysqladmin -u root password newpassword
# mysqladmin -u root -p oldpassword newpassword

Установка права на подключение к серверу с хоста localhost с паролем » passwd » — подключение подroot, переключение к базе данных, установка привилегий, обновление привилегий:

# mysql -u root -p mysql use mysql; mysql grant usage on *.* to bob @localhost identified by ' passwd '; mysql flush privileges;

Установка привилегий пользователю на использование базы данных — подключение под root, переключение к базе данных, установка привилегий, обновление привилегий:

# mysql -u root -p mysql use mysql; mysql INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ('%','databasename','username','Y','Y','Y','Y','Y','N'); mysql flush privileges;
mysql grant all privileges on databasename .* to username @localhost; mysql flush privileges;

Обновление информации в базе данных:

mysql UPDATE [table name] SET Select_priv = 'Y',Insert_priv = 'Y',Update_priv = 'Y' where [field name] = user';

Удаление строки в таблице:

mysql DELETE from [table name] where [field name] = 'whatever';

Обновление привилегий в базе данных:

Читайте также:  Qt creator debugger linux

Резервные копии — создание, восстановление бд . Консоль

Создать резервную копию (dump) всех баз данных в файл alldatabases.sql :

# mysqldump -u root -p password -opt ; /tmp/alldatabases.sql

Создать резервную копию одной базы данных в файл databasename.sql :

# mysql dump -u username -p password -databases databasename ; /tmp/databasename.sql

Создать резервную копию одной таблицы в файл databasename.tablename.sql :

# mysql dump -c -u username -p password databasename tablename ; /tmp/databasename.tablename.sql

Восстановление базы данных (или таблицы) из резервной копии:

# mysql -u username -p password databasename < /tmp/databasename.sql[/html] 

Создание таблиц БД. Консоль

маленькими буквами указаны имена столбцов;
ПРОПИСНЫМИ буквами - типы и атрибуты столцов;
в (скобках) - значение типа столбца.

Создать таблицу, пример 1:

mysql CREATE TABLE [table name] ( firstname VARCHAR(20), middleinitial VARCHAR(3), lastname VARCHAR(35), suffix VARCHAR(3), officeid VARCHAR(10), userid VARCHAR(15), username VARCHAR(8), email VARCHAR(35), phone VARCHAR(25), groups VARCHAR(15), datestamp DATE, timestamp TIME, pgpemail VARCHAR(255));
mysql create table [table name] ( personid INT(50) NOT NULL AUTO_INTCREMENT PRIMARY KEY, firstname VARCHAR(35), middlename VARCHAR(50), lastname VARCHAR(50) default 'bato');

Источник

Linux mysql command

Computer Hope

The mysql command is a simple shell for SQL commands. With user interaction, it can enter commands at a special prompt, or run a batch script containing your SQL commands.

Description

When mysql is used interactively, query results are presented in a table format. When used non-interactively, the result is presented in tab-separated format. The output format can be changed using command options.

The simplest way to invoke mysql is to specify your MySQL username with the -u option, and to tell mysql to prompt you for your password with -p:

You are shown a brief introduction message and then placed at the mysql> prompt.

Читайте также:  Повысить фпс кс го линукс

At the mysql> prompt, enter MySQL commands, such as:

mysql> SHOW DATABASES;

To list the databases which exist, or:

mysql> USE dbname;

. to begin using the database named dbname, or:

mysql> SELECT 21 * 2 AS meaning_of_life;

. to display the mathematical product of 2 and 21.

To end your mysql session and return to the shell prompt, use the command:

Running MySQL commands from a batch script

Instead of using mysql interactively, you can execute MySQL statements from a script file. For instance, if you have a text file named mysqlscript.txt containing MySQL commands, one per line, you could use this command:

mysql -u username -p db_name < mysqlscript.txt >output.txt

. and after prompting you for your password, mysql would execute the commands in mysqlscript.txt on the database db_name, writing the output to the file output.txt.

For an in-depth description of how to install MySQL on your system, and an overview of the basic interactive usage of mysql, see an introduction to MySQL.

Syntax

mysql [options] db_name

Options

mysql supports the following options, which can be specified on the command line or in the [mysql] and [client] groups of an option file.

Initially, mysql executes statements in the input because specifying a database db_name on the command line is equivalent to inserting USE db_name at the beginning of the input. Then, for each USE statement encountered, mysql accepts or rejects following statements depending on whether the database named is the one on the command line. The content of the statements is immaterial.

Suppose that mysql is invoked to process this set of statements:

DELETE FROM db2.t2;USE db2;DROP TABLE db1.t1;CREATE TABLE db1.t1 (i INT);USE db1;INSERT INTO t1 (i) VALUES(1);CREATE TABLE db2.t1 (j INT);

If the command line is mysql —force —one-database db1, mysql handles the input as follows:

The DELETE statement is executed because the default database is db1, even though the statement names a table in a different database.

Читайте также:  Изменение даты линукс терминал

The DROP TABLE and CREATE TABLE statements are not executed because the default database is not db1, even though the statements name a table in db1.

The following example demonstrates tabular versus nontabular output and the use of raw mode to disable escaping:

MySQL commands

mysql sends each SQL statement you issue to the server to be executed. Note that all text commands must first be online and end with ‘;‘ .

There is also a set of commands that mysql itself interprets. For a list of these commands, type help or \h at the mysql> prompt:

? (\?) Synonym for ‘help’.
clear (\c) Clear command.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit (\e) Edit command with $EDITOR.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
help (\h) Display this help.
nopager (\n) Disable pager, print to stdout.
notee (\t) Don’t write into outfile.
pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print (\p) Print current command.
prompt (\R) Change your mysql prompt,
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute an SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
system (\!) Execute a system shell command.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Don’t show warnings after every statement.

Examples

For an in-depth description of installing MySQL, and an overview of basic commands, see An introduction to MySQL.

The following are a few other notable commands:

mysqldump -u hope -p -h localhost hope_SMF > smf.sql

Backup the database «hope_SMF» to the smf.sql file after the username and password were verified.

Running status while at the mysql> prompt would give you MySQL status results similar to what is shown below.

-------------- mysql Ver 14.14 Distrib 5.5.35, for debian-linux-gnu (i686) using readline 6.2 Connection id: 42 Current database: Current user: [email protected] SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.5.35-0ubuntu0.13.10.2 (Ubuntu) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/run/mysqld/mysqld.sock Uptime: 2 hours 3 min 4 sec Threads: 1 Questions: 577 Slow queries: 0 Opens: 421 Flush tables: 1 Open tables: 41 Queries per second avg: 0.078 --------------

myisamchk — Check, repair, optimize, or fetch information about a MySQL database.
mysqldump — A tool for backing up or transferring MySQL databases.

Источник

Оцените статью
Adblock
detector