20160130

Быстрые заметки по mysql

8. Сбросить рутовый пароль
Останавливаем mysql
# /etc/init.d/mysqld stop
Stopping mysqld:                                           [  OK  ]

Запускаем mysql в безопасном режиме.
# /usr/bin/mysqld_safe --skip-grant-tables --user=root &
[1] 6363
# 160206 12:54:08 mysqld_safe Logging to '/var/log/mysqld.log'.
160206 12:54:09 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

Заходим под рутом без пароля.
# mysql -u root

Переключаемся на базу mysql.
mysql> USE mysql;

Смотрим список таблиц и содержаение таблицы user.

mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
...
| user                      |
+---------------------------+
23 rows in set (0.00 sec)

mysql> SELECT * FROM user

В таблице user так же есть пароли и настройки всех остальных пользователей.

Задаем новый пароль P@s$ = меняем значение поля Password

mysql> UPDATE user SET Password=PASSWORD('P@s$') WHERE User='root';
Функция "PASSWORD()" используется для шифрования.


Выходим и перезапускаем mysql
mysql> exit
Bye
# /etc/init.d/mysqld restart
160206 13:12:50 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]
[1]+  Done                    /usr/bin/mysqld_safe --skip-grant-tables --user=root


7. Изменить значение поля в строке
Есть строка.
mysql> SELECT * FROM logcon_views;
+----+-------------+-------------------------------------+--------+---------+
| ID | DisplayName | Columns                             | userid | groupid |
+----+-------------+-------------------------------------+--------+---------+
|  2 | SRX-FILTER  | SRX, TIME_UTC_6, TIME_UTC, msg, 111 |   NULL |    NULL |
+----+-------------+-------------------------------------+--------+---------+

1 row in set (0.00 sec)

Хотим изменить значение поля Columns  в строке с ID равным 2. 
mysql> UPDATE logcon_views SET Columns = 'SRX, TIME_UTC_6, TIME_UTC, msg' WHERE ID = 2;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0



6. Удалить строку из таблицы
Есть такая таблица.
mysql> select * from logcon_fields;
+--------------+------------------+--------------+
| FieldID      | FieldDefine      | FieldCaption |
+--------------+------------------+--------------+
| SRX          | SYSLOG_SRX       | SRX          |
| TIME (UTC+6) | SYSLOG_TIME_UTC6 | TIME (UTC+6) |
+--------------+------------------+--------------+
2 rows in set (0.00 sec)

Хотим удалить вторую строку. 
mysql> DELETE FROM logcon_fields WHERE FieldID ="TIME (UTC+6)";
Query OK, 1 row affected (0.00 sec)

5. Создать базу из шаблона
Есть вот такой шаблон базы для rsyslog.
]# cat /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
CREATE DATABASE rsyslog_db;
USE rsyslog_db;
CREATE TABLE SystemEvents
(
        ID int unsigned not null auto_increment primary key,
        CustomerID bigint,
#....
       SystemID int NULL
);

CREATE TABLE SystemEventsProperties
(
        ID int unsigned not null auto_increment primary key,
        SystemEventID int NULL ,
        ParamName varchar(255) NULL ,
        ParamValue text NULL
);

Что бы создать эту базу даем след. команду:
# mysql -u root -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

Проверяем.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cacti_db           |
| mysql              |
| racktables_db      |
| rsyslog_db         |
| viewvc_db          |
+--------------------+
6 rows in set (0.00 sec)

mysql> use rsyslog_db;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+------------------------+
| Tables_in_rsyslog_db   |
+------------------------+
| SystemEvents           |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)

6. Дать права пользователю на базу и задать пароль.
mysql> grant all privileges on rsyslog_db.* to rsyslog_user@localhost identified by 'P@Ss';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

5. Создать пользователя
mysql> create user rsyslog_user@localhost;
Query OK, 0 rows affected (0.00 sec)

4. Удалить пользователя
mysql> drop user rsyslog_user@localhost;

Query OK, 0 rows affected (0.00 sec)


3. Удалить базу
mysql> drop database rsyslog_db;

Query OK, 13 rows affected (0.00 sec)


2. Посмотреть имеющиеся базы
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cacti_db           |
| mysql              |
| racktables_db      |
| rsyslog_db         |
| viewvc_db          |
+--------------------+
6 rows in set (0.00 sec)


1. Заход
Заход под root на localhost, пароль надо ввести.
# mysql -u root -p
Enter password:


Комментариев нет:

Отправить комментарий