Главная
Главная Руководства FreeBSD › Работа с mysql в FreeBSD из консоли



Автор:

Статья опубликована: 2017-01-17 21:50:45
Последние правки: 2020-07-14 22:33:04

FreeBSD, работа с MySQL с консоли или через ssh.

На этой страничке описано как работать с MySQL сервером с консоли или через ssh подключение на компьютере под управлением FreeBSD. Данное описание проверено на FreeBSD 7.3 и MySQL 5.0.90
  • MySQL
    Официальный сайт MySQL

  • Проверка что MySQL сервер запущен, подключение и отсоединение от MySQL сервера

    Проверка того, что сервер работает:
    # ps ax | grep mysql
    
    Если MySQL запущен, то Вы увидите подобные строки (в примере приведены только начала строк):
     4689  p0- IW     0:00,00 /bin/sh /usr/local/bin/mysqld_safe
     4713  p0- S     21:21,36 /usr/local/libexec/mysqld
    

    подключение к MySQL под пользователем root
    # mysql -u root -p
    
    При подключении система спросит пароль для MySQL пользователя.
    Следует помнить, что пользователь root в MySQL и пользователь root на сервере FreeBSD - это совершенно разные пользователи и обычно с разными паролями
    В случае успешного подключения Вы получите приглашение:
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is XXXXXX
    Server version: 5.X.XX FreeBSD port: mysql-server-5.X.XX
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> 
    

    Выход из MySQL монитора:
    mysql> quit
    

  • Полезные команды

    показать список баз данных
    mysql> show databases;
    

  • Создание новой базы данных, добавление пользователя для работы с базой данных

    выполняется от MySQL-пользователя root

    создаем базу данных с названием sitedb
    mysql> create database sitedb;
    
    создаем пользователя sitedbuser который может соединяться с базой только с сервера (localhost) с паролем PASSWORD и даем ему полные права на все таблицы базы данных sitedb
    mysql> grant all privileges on sitedb.* to 'sitedbuser'@'localhost' identified by 'PASSWORD';
    
    Эти операции работают в MySQL до 7 версии включительно, в MySQL 8 процесс создания пользователя и выдачи прав на базу немного изменился:
    use mysql;
    CREATE USER 'sitedbuser'@'localhost' IDENTIFIED BY 'PASSWORD';
    GRANT ALL ON sitedb.* TO 'sitedbuser'@'localhost';
    flush privileges;
    

  • Удаление базы данных, удаление пользователя для работы с базой данных

    выполняется от MySQL-пользователя root

    удаляем все привилегии пользователя sitedbuser
    revoke all privileges on *.* from 'sitedbuser'@'localhost';
    
    удаляем пользователя sitedbuser
    delete from mysql.user where user='sitedbuser' and host='localhost';
    
    удаляем базу данных с названием sitedb
    mysql> drop database sitedb;
    

  • Смена пароля для MySQL-пользователя

    выполняется от MySQL-пользователя root

    смена пароля на newpass для пользователя sitedbuser
    mysql> set password for 'sitedbuser'@'localhost' = password('newpass');
    

  • Проверка целостности таблиц с помощью myisamchk

    myisamchk предназначена для профилактики таблиц и послеаварийного восстановления. В качестве аргумента, программе нужно передать имя файла, где хранится MyISAM-таблица (*.MYI)
    # myisamchk /var/lib/mysql/mysql/user.MYI
    Checking MyISAM file: /var/lib/mysql/mysql/user.MYI
    Data records: 3 Deleted blocks: 0
    - check file-size
    - check record delete-chain
    - check key delete-chain
    - check index reference
    - check data record references index: 1
    - check record links
    
    Ключи программы:
    Ключ -r исправляет все, кроме уникальных ключей, в которых есть повторения (ошибка, вероятность возникновения которой для таблиц ISAM/MyISAM практически нулевая).
    Ключ -o - это старый метод восстановления (читаются подряд все строки и обновляются все деревья индексов на основе найденных строк) метод весьма медлителен, но справляется с теми редкими случаями, которые не может исправить -r.
    Для исправления таблиц вначале рекомендуется использовать ключ -r, а в случае если он не помог, использовать ключ -o.