введение
В последнее время занимается облаком, и я купил сервер для ежедневного обучения и тестирования.В новой машине нет ничего.Неизбежна установка какого-то часто используемого программного обеспечения, поэтому я подумал о том, чтобы подробно записывать процесс установки.Один из них сделать памятку, второй сделать ссылку для нуждающихся студентов.
Существует несколько распространенных способов установки программного обеспечения в Linux:
- компиляция исходного кода
- Кодеки сжатия пакетов (обычно Tar.gz)
- Скомпилированный инсталляционный пакет (RPM, DPKG и т.д.)
- Онлайн-установка (YUM, APT и т. д.)
Удобство вышеперечисленных методов в свою очередь увеличивается, но универсальность в свою очередь уменьшается.Например, прямая загрузка сжатого пакета для распаковки, этот метод обычно требует некоторой дополнительной работы по настройке самостоятельно, но пока метод освоен, он в основном применимо к каждой платформе.Хотя YUM Simple, но платформа ограничена, сеть ограничена, и при необходимости необходимо добавить некоторые конкретные источники YUM.
Лучше всего освоить несколько способов установки, в принципе можно использовать и простые: YUM>RPM>tar.gz>исходный код
Эта статья предназначена для ознакомления с установкой MySQL на CentOS Основные шаги относятся к официальной документации MySQL:Dev.MySQL.com/doc/Furious/…
Чтобы протестировать разные методы установки, я несколько раз перекидывал, устанавливал и удалял, удалял и устанавливал, каждый шаг был успешно протестирован, и каждая команда выполнялась лично, так что вы можете использовать ее с уверенностью.
Давайте прекратим сплетни и сплетни (это много сплетен...)
1. ЮМ
0. Удалите установленный MySQL
Проверить MariaDB
shell> rpm -qa|grep mariadb
mariadb-server-5.5.60-1.el7_5.x86_64
mariadb-5.5.60-1.el7_5.x86_64
mariadb-libs-5.5.60-1.el7_5.x86_64
удалить mariadb
Если нет (приведенные выше результаты теста возвращаются пустыми), перейдите к шагу
shell> rpm -e --nodeps mariadb-server
shell> rpm -e --nodeps mariadb
shell> rpm -e --nodeps mariadb-libs
На самом деле, режим установки YUM заключается в том, что вам не нужно удалять MariaDB, установка MySQL перезапишет MariaDB до того, как вы его создадите.
Проверить MySQL
shell> rpm -qa|grep mysql
удалить MySQL
Если он не существует (результат вышеуказанной проверки возвращается пустым), то пропустите шаг
shell> rpm -e --nodeps xxx
1. Добавьте репозиторий MySQL Yum
Начиная с CentOS 7, MariaDB стал установочным пакетом базы данных по умолчанию в источниках Yum. Другими словами, использование yum для установки MySQL в системах CentOS 7 и выше по умолчанию установит MariaDB (ветвь MySQL). Если вы хотите установить официальную версию MySQL, вам необходимо использовать исходный код Yum, предоставленный MySQL.
Загрузить Sysql Source.
Адрес официального сайта:Dev.MySQL.com/downloads/day…
Проверьте версию системы:
shell> cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
Выберите соответствующую версию для загрузки.Например, адрес загрузки CentOS 7 для просмотра последнего исходного кода Yum на официальном сайте:Dev.MySQL.com/individual/MySQL80…
shell> wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
Установить источник MySQL
shell> sudo rpm -Uvh platform-and-version-specific-package-name.rpm
Например, последняя установка источника MySQL на Centos7:
shell> sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
Проверьте, прошла ли установка успешно
После успешного выполнения,/etc/yum.repos.d/
В каталоге создаются два файла репоmysql-community.repo
иmysql-community-source.repo
и черезyum repolist
Вы можете увидеть ресурсы, связанные с mysql
shell> yum repolist enabled | grep "mysql.*-community.*"
!mysql-connectors-community/x86_64 MySQL Connectors Community 108
!mysql-tools-community/x86_64 MySQL Tools Community 90
!mysql80-community/x86_64 MySQL 8.0 Community Server 113
2. Выберите версию MySQL
Чтобы установить MySQL с помощью репозитория MySQL Yum, по умолчанию будет выбрана последняя стабильная версия. Например, если вы устанавливаете из указанного выше источника MySQL, при установке по умолчанию будет выбрана версия MySQL 8.0. Если вы просто хотите установить эту версию, вы можете пропустите этот шаг напрямую. Если Нет, например, если я хочу установить MySQL 5.7 здесь, мне нужно «переключить версию»:
Просмотреть все версии MySQL в текущем репозитории MySQL Yum (каждая версия находится в отдельном подрепозитории)
shell> yum repolist all | grep mysql
сменить версию
shell> sudo yum-config-manager --disable mysql80-community
shell> sudo yum-config-manager --enable mysql57-community
Помимо использования yum-config-manager, вы также можете напрямую редактировать/etc/yum.repos.d/mysql-community.repo
документ
включено=0 отключает
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
включено=1, чтобы включить
# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Проверьте в настоящее время включенные репозитории MySQL
shell> yum repolist enabled | grep mysql
Если несколько репозиториев включены одновременно, последняя версия будет выбрана во время установки
3. Установите MySQL
shell> sudo yum install mysql-community-server
Эта команда установит сервер MySQL (mysql-community-server) и его необходимые зависимости и связанные компоненты, включая mysql-community-client, mysql-community-common, mysql-community-libs и т. д.
Если пропускной способности недостаточно, этот шаг займет много времени, наберитесь терпения~
4. Запустите MySQL
запускать
shell> sudo systemctl start mysqld.service
ЦенОС 6:
shell> sudo service mysqld start
Посмотреть статус
shell> sudo systemctl status mysqld.service
ЦенОС 6:
shell> sudo service mysqld status
останавливаться
shell> sudo systemctl stop mysqld.service
ЦенОС 6:
shell> sudo service mysqld stop
перезагружать
shell> sudo systemctl restart mysqld.service
ЦенОС 6:
shell> sudo service mysqld restart
5. Смените пароль
начальный пароль
После первого запуска MySQL будет создана учетная запись суперадминистратора.root@localhost
, исходный пароль сохраняется в лог-файле:
shell> sudo grep 'temporary password' /var/log/mysqld.log
Изменить пароль по умолчанию
shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
Приведенное выше приглашение появляется из-за слишком простого пароля.Решение заключается в следующем:
- Используйте сложные пароли, политика паролей MySQL по умолчанию включает числа, буквы и специальные символы;
- Если это только для тестирования и вы не хотите использовать такой сложный пароль, вы можете изменить политику по умолчанию, то есть
validate_password_policy
(а такжеvalidate_password_length
и другие связанные параметры), так что он поддерживает установку простых паролей, а конкретный метод может быть Baidu; - Изменить файл конфигурации
/etc/my.cnf
,Добавить кvalidate_password=OFF
, сохраните и перезапустите MySQL
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)
6. Разрешить удаленный доступ root
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
7. Установите кодировку utf8
Посмотреть кодировку
mysql> SHOW VARIABLES LIKE 'character%';
установить кодировку
Отредактируйте /etc/my.cnf, добавьте следующий код в узел [mysqld]:
[mysqld]
character_set_server=utf8
init-connect='SET NAMES utf8'
8. Установите запуск
shell> systemctl enable mysqld
shell> systemctl daemon-reload
2. об/мин
За исключением процесса установки, остальные шаги аналогичны установке yum, поэтому я не буду их повторять.
0. Удалить старую версию
немного
1. Загрузите установочный пакет MySQL.
ссылка для скачивания:Dev.MySQL.com/downloads/no…
Выберите соответствующую версию:
shell> wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
2. Установите MySQL
разархивировать (распаковать)
shell> tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
mysql-community-embedded-devel-5.7.26-1.el7.x86_64.rpm
mysql-community-libs-5.7.26-1.el7.x86_64.rpm
mysql-community-embedded-5.7.26-1.el7.x86_64.rpm
mysql-community-test-5.7.26-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.26-1.el7.x86_64.rpm
mysql-community-common-5.7.26-1.el7.x86_64.rpm
mysql-community-devel-5.7.26-1.el7.x86_64.rpm
mysql-community-client-5.7.26-1.el7.x86_64.rpm
mysql-community-server-5.7.26-1.el7.x86_64.rpm
В основном устанавливаем эти четыре (при необходимости можем установить и другие):
mysql-community-libs-5.7.26-1.el7.x86_64.rpm
mysql-community-common-5.7.26-1.el7.x86_64.rpm
mysql-community-client-5.7.26-1.el7.x86_64.rpm
mysql-community-server-5.7.26-1.el7.x86_64.rpm
Если вы не хотите скачивать rpm-bundle, официальный сайт также предоставляет отдельную ссылку для скачивания rpm.
Установить
У каждого пакета rpm есть зависимости, поэтому его нужно устанавливать в определенном порядке.Во время установки, если вам будет предложено, какие зависимости отсутствуют, вы должны сначала установить соответствующие пакеты:
shell> rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
shell> rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
shell> rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
shell> rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
Существует также простой способ автоматической обработки зависимостей между отдельными пакетами и автоматической загрузки отсутствующих зависимостей:
shell> yum install mysql-community-{server,client,common,libs}-*
Примечание: вышеyum install
Команду необходимо выполнить в каталоге, где находится каждый пакет rpm после распаковки tar, иначе он будет установлен в режиме yum, необходимо настроить источник yum для MySQL, а скорость очень низкая, а текущая машина поддерживает внешние доступ к сети
3. Настройки
немного
3. tar.gz
0, удалить старую версию
немного
1. Скачать
ссылка для скачивания:Dev.MySQL.com/downloads/no…
Выберите соответствующую версию:
shell> wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
2. Установка и настройка:
полагаться
MySQL использует библиотеку libaio, если она не установлена заранее:
shell> yum install libaio
создать пользователя mysql
Системная учетная запись, в которую не нужно входить, эта учетная запись будет использоваться при запуске службы MySQL.
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
Распаковать и создать ссылку
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
shell> ln -s mysql-5.7.26-linux-glibc2.12-x86_64/ mysql
Создайте каталог mysql-файлов
Этот шаг необязателен, вы можете установить значение secure_file_priv так, чтобы оно указывало на этот каталог (каталог, используемый для ограничения операций импорта и экспорта данных).
shell> cd mysql
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
инициализация
shell> bin/mysqld --initialize --user=mysql
Если об инициализации сообщается следующим образом:
error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
Дело в том, что libnuma не установлена (или установлена 32-битная по умолчанию), здесь нам нужна 64-битная:
shell> yum install numactl.x86_64
После выполнения повторно инициализируйте После успешной инициализации в возвращаемом результате есть строка, содержащая исходный пароль, который используется при первом входе в систему:
A temporary password is generated for root@localhost: 8M0ary878s*U
Включить SSL (не обязательно)
shell> bin/mysql_ssl_rsa_setup
запускать
shell> bin/mysqld_safe --user=mysql &
Глядя на процесс, вы можете увидеть некоторые параметры по умолчанию, которые можно изменить в файле конфигурации.
shell> ps -ef | grep mysql
root 14604 12719 0 00:03 pts/0 00:00:00 /bin/sh bin/mysqld_safe --user=mysql
mysql 14674 14604 0 00:03 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=VM_2_24_centos.err --pid-file=VM_2_24_centos.pid
Установить переменные среды
Избегайте добавления пути каждый раз, когда вы выполняете команду mysql, в/etc/profile
добавлять:
export PATH=$PATH:/usr/local/mysql/bin
установить как услугу
shell> cp support-files/mysql.server /etc/init.d/mysqld
shell> service mysqld start|stop|restart|status
ботинок
shell> chkconfig --add mysqld
shell> chkconfig --list mysqld
mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关
Остальные настройки такие же, как у yum и rpm, поэтому я не буду их повторять.
В-четвертых, установка исходного кода
Не заморачивайся с этим...
заключительные замечания
Мы не специалисты по эксплуатации и сопровождению Linux и не эксперты по MySQL. Мы не счастливы и не несчастны, что родились в эту эпоху. В онлайн-среде все меньше и меньше людей (в основном тех, кто обычно пишет код) вручную занимаются этими базами данных и промежуточным ПО. Установка настроена, зачем? Поскольку все виды облачных продуктов настолько удобны, средняя компания не будет испытывать недостатка в нескольких долларах, это удобно и стабильно, почему бы не сделать это ~ Но нам все равно необходимо сделать это самим для нашего собственного тестирования. , есть еще много компаний, среда разработки и тестовая среда которых иногда должны быть сделаны вручную.Конечно, есть и те гиганты, которые строят свои собственные компьютерные классы.
Тогда, поскольку мы не эксперты, это неизбежно, если будут какие-либо ошибки в написанном выше содержании.Если нас увидят, мы надеемся, что сможем раскритиковать и исправить их вовремя~