- Команды MySQL в Linux
- Работа с базами, таблицами — просмотр, удаление, редактирование записей. Консоль
- Пользователи, пароли сервера MySQL — добавление, изменение пользователей и паролей. Консоль
- Резервные копии — создание, восстановление бд . Консоль
- Создание таблиц БД. Консоль
- Список полезных команд для работы с MySQL в командной строке Linux
- Работа с пользователями
- Резервирование и восстановление баз данных
- MySQL Commands Tutorial
- Connect to MySQL
- Set or Change Password
- View Databases
- Create a Database
- Select a Database
- Create a Table
- View Tables
- View Table Structure
- Insert Data
- View Table Data
- Delete Data from Table
- Delete a Table
- Delete a Database
Команды 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';
Обновление привилегий в базе данных:
Резервные копии — создание, восстановление бд . Консоль
Создать резервную копию (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');
Список полезных команд для работы с MySQL в командной строке Linux
Переключиться для работы с определенной базой данных:
Отобразить все таблицы в базе данных:
Просмотреть формат таблицы в базе:
Показать все содержимое таблицы:
mysql SELECT * FROM [table name];
Работа с пользователями
Создание пользователя (прим. test с localhost) и паролем ‘password’.
CREATE USER 'test'@'localhost' IDENTIFIED BY 'password';
Назначить полные права на базу данных (прим. TESTDB) пользователю test:
GRANT ALL PRIVILEGES ON TESTDB.* to 'test'@'localhost';
Изменить пароль пользователя под которым выполнена авторизация:
SET PASSWORD = PASSWORD('пароль')
Изменить пароль для другого пользователя MySQL:
SET PASSWORD FOR 'mysqluser'@'localhost' = PASSWORD('пароль');
Удалить пользователя ‘test’@’localhost’:
Вывести список пользователей:
SELECT user,host,password FROM mysql.user;
Резервирование и восстановление баз данных
Резервирование всех баз данных:
mysqldump -u root -p -opt > tmp/ALL_DB_NAME.sql
Резервирование определенной базы данных:
mysqldump -u root -p DB_NAME > /tmp/DB_NAME.sql
Резервирование структуры базы данных, без данных:
mysqldump --no-data -u root -p DB_NAME > /tmp/schema.sql
Резервирование одной или нескольких таблиц:
mysqldump -u root -p DB_NAMETABLE1 TABLE2 TABLE3 > /tmp/dump_table.sql
Резервирование базы данных и ее архивация:
mysqldump -u root -p DB_NAME| gzip > /tmp/DB_NAME.sql.gz
Восстановление базы данных:
Восстановление базы данных из архива:
Понравилась или оказалась полезной статья, поблагодари автора
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА
MySQL Commands Tutorial
MySQL is a database that is behind many applications nowadays. This relational database can be accessed from the terminal and helps dev-ops engineers and system administrators. In this article, we will try out some of the most common MySQL commands in the Linux terminal.
Connect to MySQL
If you have already installed MySQL on your Ubuntu machine, you can easily connect to the MySQL shell by issuing the following command in your Linux terminal.
[cc lang=”bash” width=”100%” height=”100%” escaped=”true” theme=”blackboard” nowrap=”0″]
$ sudo mysql -u root -p
[/cce_bash]
In the above command:
After running the above command, you will be asked to enter the password. Once you have entered the root user password, you will be logged in to the MySQL shell.
If you have recently installed MySQL, then you will not be asked for the password.
Set or Change Password
To set or change the password for any MySQL database user, issue the following command:
Replace the user_name and new_password with your username and desired password. For example:
View Databases
In MySQL, you can view the list of databases under the user’s granted privileges by running the simple command stated below:
The above command will list all the databases.
Create a Database
You can create a database by issuing the following command in the MySQL shell:
The above statement will not create a database if there already exists a database with the name that has been provided. For example:
As you can see in the screenshot, the db1 database has been created.
Select a Database
You can use any of the listed databases by running the following command in the MySQL shell:
Create a Table
A table can be created by using the CRETE TABLE command and defining the column names and their types in the parentheses, as follows:
- tb1 is the name of the table
- col1, col2 are the names of the columns in the tb1 table
- INT and VARCHAR are the datatypes of the specified columns
- col1 is defined as the primary key
View Tables
To list all the tables in the present database, run the simple SHOW TABLES command in the MySQL shell.
View Table Structure
The structure of the table, including column names, their types, and their default values, can be seen by running the DESC command.
Insert Data
Data can be inserted into the table by providing the column names into which you want to insert data, as well as the data or values, using the following syntax:
View Table Data
The SELECT statement is used to view the data in a table. You can either provide the asterisk symbol (*) to select all the columns, or you can provide the specific columns that you want to view.
Delete Data from Table
To delete a row from a table, provide the table name to the DELETE FROM command, along with the WHERE conditional clause.
Delete a Table
Deleting a table is as easy as saying it. You can delete any table in the present database by running the statement given below.
Delete a Database
Deleting or dropping a database is the same as deleting a table in MySQL. Simply use the DROP DATABASE command with the database name.