I. Подготовка к установке
- Официальный сайт MySQL https://www. mysql .com/
- Страница загрузки MySQL https://dev.mysql.com/downloa…
Скачать MySQL
На странице загрузки MySQL выберите версию MySQL.
- Выбранная версия Сервер сообщества MySQL 5.7.23
- Выбор Исходный код
- Выбор Универсальный Linux (Не зависит от Архитектуры)
- Выберите версию boost mysql-boost-5.7.23.tar.gz
- Скопировать Адрес Ссылки
Скачать MySQL
yum -y install wget wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.23.tar.gz
III. Зависимость от окружающей среды
Зависимости среды, необходимые для установки MySQL в исходном режиме:
- cmake
- делать
- ссагпз
- gcc-c++
- бизон
- проклятия
- Ncurses-devel (devel-это версия для разработки)
yum -y install cmake make gcc gcc-c++ bison ncurses ncurses-devel
IV. Установка MySQL
1. Распакуйте пакет MySQL
tar -zxvf mysql-boost-5.7.23.tar.gz cd mysql-5.7.23/
2. Создайте каталоги компилятора
mkdir configure cd configure
3. Создание Среды Компилятора
cmake .. -DWITH_BOOST=../boost/boost_1_59_0/ -DWITH_EMBEDDED_SERVER=OFF
Результат:
-- Configuring done -- Generating done -- Build files have been written to: /root/mysql-5.7.23/configure
Потенциальные проблемы:
- Вопрос 1
MySQL currently requires boost_1_59_0...
Решение: Поскольку загруженную версию с boost нужно только правильно указать -WITH_BOOST Параметры следующие
-DWITH_BOOST=../boost/boost_1_59_0/
Если у вас нет версии boost, вам нужно загрузить ее и переместить в распакованный каталог mysql-5.7.23. При создании скомпилированного файла укажите правильный. –WITH_BOOST Параметры могут быть
wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download tar -zxvf boost_1_59_0.tar.gz mv boost_1_59_0 mysql-5.7.23
Или укажите параметры cmake, и система сама их загрузит
-DDOWNLOAD_BOOST=1 -DWITH_BOOST
- Вопрос 2
Make [2]: *** [libmysqld/examples/mysql_client_test_embedded] error 1 Make [1]: *** [libmysqld/examples/CMakeFiles/mysql_client_test_embedded.dir/all] error 2
Решение: Добавьте следующие параметры
-DWITH_EMBEDDED_SERVER=OFF
4. Скомпилируйте и установите
Весь процесс может занять некоторое время и терпение.
make && make install
5. Создайте группы пользователей и пользователей MySQL
groupadd mysql useradd -g mysql mysql
6. Настройка разрешений
Каталог установки MySQL – /usr/локальный/mysql
chown -R mysql:mysql /usr/local/mysql
7. Инициализация базы данных
cd /usr/local/mysql/bin ./mysqld --initialize --user=mysql 2018-07-29T19:09:18.304497Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2018-07-29T19:09:18.536280Z 0 [Warning] InnoDB: New log files created, LSN=45790 2018-07-29T19:09:18.586523Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2018-07-29T19:09:18.649604Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: e49ee151-9362-11e8-ab75-08002739fe2b. 2018-07-29T19:09:18.653045Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2018-07-29T19:09:18.653886Z 1 [Note] A temporary password is generated for [email protected]: A,uNFfDrd1yd
Результат: Временный пароль. Это должно быть записано. 。 И есть предупреждение.
TIMESTAMP with implicit DEFAULT value is deprecated。
Решать:
vim /etc/my.cnf
Отредактируйте файл конфигурации, а затем explicit_defaults_for_timestamp=true Напишите в него.
8. Добавление Mysql в системные службы
cd /usr/local/mysql/support-files cp mysql.server /etc/init.d/mysql Chkconfig -- add MySQL # join system services Chkconfig MySQL on # boot-up
9. Попробуйте открыть службу MySQL
service mysql start
Возникшие проблемы заключаются в следующем:
Starting MySQL.2018-07-30T01:14:39.000931Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
Решение: Создайте этот файл
mkdir /var/log/mariadb touch /var/log/mariadb/mariadb.log chown -R mysql:mysql /var/log/mariadb/mariadb.log
Снова откройте службу MySQL
[[email protected] support-files]# service mysql start Starting MySQL. SUCCESS!
Услуга успешно открыта!
10. Войдите в MySQL
[[email protected] support-files]# mysql -u root -p - bash: mysql: No command found
Решите проблему отсутствия команд
Создание мягких ссылок
ln -s /usr/local/mysql/bin/mysql /usr/local/bin
Результат:
[[email protected] ~]# ll -a /usr/local/bin Total dosage 0 Drwxr-xr-x.2 root 19 July 30 16:36. Drwxr-xr-x.15 root 169 July 3002:58.. Lrwxrwxrwx. 1 root 26 July 30 16:36 MySQL - > / usr / local / MySQL / bin / MySQL
Войдите в систему еще раз:
Возникают проблемы
[[email protected] ~]# mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Растворитель
поиск mysql.sock Документ, найденный в /var/lib/mysql/ В каталоге.
[[email protected] ~]# find / -name 'mysql.sock' /var/lib/mysql/mysql.sock
Посмотрите еще раз на файл конфигурации my.cnf
[mysqld] 2 datadir=/var/lib/mysql 3 socket=/var/lib/mysql/mysql.sock 4 explicit_defaults_for_timestamp=true
Как вы можете видеть из файла конфигурации сокет Значение /var/lib/mysql/mysql.sock Затем вы можете создавать мягкие ссылки на /tmp/mysql.sock
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
Повторный вход в MySQL
Если сгенерированный временный пароль не записан при инициализации базы данных, то вам придется “Насильственное взлом” Сейчас.
Во-первых, закройте службу MySQL
service mysql stop
Затем измените /etc/my.cnf Добавить пропустить-предоставить-таблицы Следующим образом
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-grant-tables
Затем войдите в систему без секрета и измените пароль для входа
mysql
# Set account password and exit
update user set authentication_string=password('PASSWORD') where user='root';
flush privileges;Наконец, будет /etc/my.cnf Medium пропустить-предоставить-таблицы Удалить или прокомментировать.
Перезапустите службу и войдите в систему с паролем
[[email protected] support-files]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.23 Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Запрос на сброс автоматически сгенерированного пароля:
mysql> show databases; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
Измените пароль пользователя root
mysql> alter user 'root'@'localhost' identified by '123123'; Query OK, 0 rows affected (0.00 sec)
возможно
mysql> set password for [email protected]=password('123123'); Query OK, 0 rows affected, 1 warning (0.00 sec)
Повторный вход в MySQL
mysql> exit Bye [[email protected] ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.23 Source distribution Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Операционная база данных
show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) mysql>
Пять, краткое изложение
Хорошая память не так хороша, как плохая ручка. Вы должны привыкнуть записывать.