Сброс пароля mysql в консоли сервера Ubuntu через реконфигурацию

👁 52 просмотров

Часто приходиться менять пароль пользователя root в БД MySQL, особенно, если имя пользователя системы Ubuntu тоже root, то пароль необходим для предотвращения конфликта имен пользователей. Легким решением достичь этого является реконфигурация пакетов сервиса, в данном случае, MySQL. Сделаем это пошагово.

1. Проверка версии сервера MySQL:


apt-cache policy mysql-server

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

  Installed: 5.5.37-0ubuntu0.12.04.1

где 5.5 — версия нашего MySQL
2. Теперь запустим реконфигурацию пакетов сервера MySQL, записав версию:


sudo dpkg-reconfigure mysql-server-5.5

Далее выйдет «окно» в консоли с запросом нового пароля для пользователя root

mysql-reconf-change-passw-for-root-on-ubuntu

После вода подтверждаем во втором окне и , нажав на «Ок» сервер MySQL перезапустится и реконфигурация с новым паролем закончена.

3. Для входа под MySQL -сервер вводим команду


mysql -u root -p

и сервер запросит пароль. Вводим пароль и можно выполнять команды MySQL под пользователем root.

Запуск сервера Tomcat 8 на порту 80 под Linux

👁 73 просмотров

Данную проблему можно решить 2 -мя, известными для меня, способами:

  1. через дополнительный сервис authbind;
  2. через перенаправление в таблице IP адресов.

В посте расскажем про второй способ, так как он более, легок и быстр.
Как правило, запуск сервера Tomcat на 80 порту, и вообще с портами ниже 1024, осложнено в виду безопасности или занятости другими сервисами или службами. Перед тем, как работать с 80 портом на Linux-подобных системах с Tomcat 8 необходимо освободить этот порт от других служб. Особенно, этот порт любит сервер Apache и, желательно, решить проблему замены этого порта на другой.

Одним из решением данной проблемы является перенаправление трафика запросов с 80 порта на порт выше 1024, на котором работает наш сервер Tomcat 8, по умолчанию, это порт 8080 и он определен в файле конфигурации tomcat/conf/server.xml. Для перенаправления изменим конфигурацию в iptables двумя командами:

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080    
iptables -t nat -A PREROUTING -p udp -m udp --dport 80 -j REDIRECT --to-ports 8080

И все, проблема с привязкой Tomcat 8 к порту 80 решена.

Android. Интерфейс. Контролы. Spinner

👁 63 просмотров

Спиннеры предоставляют быстрый путь выборки одного значения из некоторого списка. По умолчанию, спиннер показывает выбранное текущее значение.

android-post-spinner-controll-photo

Нажимая на выпадающее меню спиннера можно выбрать один из доступных значений из списка.

Добавление контрола спиннера в интерфейс

Мы можем добавить спиннер в наш layout с объектом спиннера. Для этого необходимо добавить в интерфейс layout  контрол с тегом <Spinner>. К примеру:

<Spinner
    android:id="@+id/language_spinner"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

Для заполнения спиннера со списком выбора, нам необходимо определить класс SpinnerAdapter в нашем текущем коде Activity или Fragment.

Добавление данных в спиннер из strings.xml. Способ 1

Это самый предпочтительный способ заполнения текстовых данных для контролов, так как очень удобно и универсально, когда все данные хранятся в одном общедоступном файле. Чтобы загрузить строки в виде списка в спиннер необходимо определить массив данных в файле ресурсов strings.xml

<resources>
    <string-array name="language_array">
        <item>English</item>
        <item>Русский</item>
        <item>العربية</item>
    </string-array>
</resources>

Ниже приведен код активити в методе onCreate для чтения массива списка из string.xml

Spinner spinner = (Spinner) findViewById(R.id.language_spinner);
// Создаем ArrayAdapter, используя текстовый массив и spinner layout по умолчанию
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
        R.array.language_array, android.R.layout.simple_spinner_item);
// Определяем layout, когда происходит выбор из списка
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// устанавливаем адаптер к спиннеру
spinner.setAdapter(adapter);
// Заголовок по умолчанию
spinner.setPrompt("Language");
// Выбираем элемент по умолчанию
spinner.setSelection(1);

Элементы layout simple_spinner_item и simple_spinner_dropdown_item уже определены в системе, поэтому их можно установить без определения. Для пользовательского определения их нужно создать в папке ресурсов и прикрепить.

Добавление данных в спиннер из кода в виде массива. Способ 2

Второй способ — это прикрепление данных к спиннеру в виде списка из массива, который будет определен в коде. Ниже представлен код в методе onCreate

String[] data = {"English", "Русский", "لعربية"};
Spinner spinner = (Spinner) findViewById(R.id.language_spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, data);
// Определяем layout, когда происходит выбор из списка
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// устанавливаем адаптер к спиннеру
spinner.setAdapter(adapter);
// Заголовок по умолчанию
spinner.setPrompt("Language");
// Выбираем элемент по умолчанию
spinner.setSelection(1);

Обработка событий от спиннера

Для обработки событий достаточно, в методе onCreate, ниже кода инициализации спинера переопределить метод объекта спиннера setOnItemSelectedListener

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view,
                                       int position, long id) {
                //Показываем позиция нажатого элемента
                Toast.makeText(getBaseContext(), "Position = " + position, Toast.LENGTH_SHORT).show();
            }
            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
            }
        });

 

Руководство по разработке под Android

👁 35 просмотров

Посты и листинги кода, предназначенные для разработчиков приложений под мобильную операционную систему Android. Материал будет пополняться по мере свободного времени разработчиков ресурса WebSofter.

 

Android. Интерфейс. Контролы. Spinner