centos7 Yum repository using MySQL installation mysql5.7.27 CentOS7 yum install MySQL installed MySQL5.7 CentOS7

Download yum source

Official website address: http: //dev.mysql.com/downloads/repo/yum/

centos7 system:

http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

[root@localhost ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
--2019-08-10 21:38:37--  https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
Resolving dev.mysql.com (dev.mysql.com)... 137.254.60.11
Connecting to dev.mysql.com (dev.mysql.com)|137.254.60.11|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm [following]
--2019-08-10 21:38:59--  https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
Resolving repo.mysql.com (repo.mysql.com)... 104.74.21.42
Connecting to repo.mysql.com (repo.mysql.com)|104.74.21.42|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 25680 (25K) [application/x-redhat-package-manager]
Saving to: ‘mysql57-community-release-el7-11.noarch.rpm’

100%[===================================================================================================================>] 25,680      --.-K/s   in 0.1s    

2019-08-10 21:39:00 (253 KB/s) - ‘mysql57-community-release-el7-11.noarch.rpm’ saved [25680/25680]

[root@localhost ~]# ls
anaconda-ks.cfg  mysql57-community-release-el7-11.noarch.rpm

Detecting whether the system comes to install mysql

# yum list installed | grep mysql

Delete the system comes with mysql

# yum -y remove mysql-libs.x86_64

The mysql the yum source server in a foreign country, so the download speed will be slower, mysql5.6 only 79M large, and there mysql5.7 182M.

Installation mysql57-community-release-el7-11.noarch.rpm package

# yum -y install mysql57-community-release-el7-11.noarch.rpm

[root@localhost ~]# yum -y install mysql57-community-release-el7-11.noarch.rpm
Loaded plugins: fastestmirror
Examining mysql57-community-release-el7-11.noarch.rpm: mysql57-community-release-el7-11.noarch
Marking mysql57-community-release-el7-11.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package mysql57-community-release.noarch 0:el7-11 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================
 Package                                    Arch                    Version                  Repository                                                 Size
=============================================================================================================================================================
Installing:
 mysql57-community-release                  noarch                  el7-11                   /mysql57-community-release-el7-11.noarch                   31 k

Transaction Summary
=============================================================================================================================================================
Install  1 Package

Total size: 31 k
Installed size: 31 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : mysql57-community-release-el7-11.noarch                                                                                                   1/1 
  Verifying  : mysql57-community-release-el7-11.noarch                                                                                                   1/1 

Installed:
  mysql57-community-release.noarch 0:el7-11                                                                                                                  

Complete!

After installing this package, you get yum repo source of two mysql: /etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo

[root@localhost ~]# ls /etc/yum.repos.d/
centos.repo  mysql-community.repo  mysql-community-source.repo

# cat /etc/yum.repos.d/mysql-community.repo

[root@localhost ~]# cat /etc/yum.repos.d/mysql-community.repo 
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[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

[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

[mysql-tools-preview]
name=MySQL Tools Preview
baseurl=http://repo.mysql.com/yum/mysql-tools-preview/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-cluster-7.5-community]
name=MySQL Cluster 7.5 Community
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.5-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-cluster-7.6-community]
name=MySQL Cluster 7.6 Community
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.6-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# cat /etc/yum.repos.d/mysql-community-source.repo

[root@localhost ~]# cat /etc/yum.repos.d/mysql-community-source.repo
[mysql-connectors-community-source]
name=MySQL Connectors Community - Source
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/SRPMS
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-tools-community-source]
name=MySQL Tools Community - Source
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/SRPMS
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql55-community-source]
name=MySQL 5.5 Community Server - Source
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/SRPMS
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql56-community-source]
name=MySQL 5.6 Community Server - Source
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/SRPMS
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql57-community-source]
name=MySQL 5.7 Community Server - Source
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/SRPMS
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql80-community-source]
name=MySQL 8.0 Community Server - Source
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/SRPMS
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-tools-preview-source]
name=MySQL Tools Preview - Source
baseurl=http://repo.mysql.com/yum/mysql-tools-preview/el/7/SRPMS
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-cluster-7.5-community-source]
name=MySQL Cluster 7.5 Community - Source
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.5-community/el/7/SRPMS
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-cluster-7.6-community-source]
name=MySQL Cluster 7.6 Community - Source
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.6-community/el/7/SRPMS
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

Check with yum repolist mysql command mysql whether there is installable file

# yum repolist all | grep mysql

[root@localhost ~]# yum repolist all | grep mysql
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community   disabled
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - disabled
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community   disabled
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - disabled
mysql-connectors-community/x86_64  MySQL Connectors Community    enabled:    118
mysql-connectors-community-source  MySQL Connectors Community -  disabled
mysql-tools-community/x86_64       MySQL Tools Community         enabled:     95
mysql-tools-community-source       MySQL Tools Community - Sourc disabled
mysql-tools-preview/x86_64         MySQL Tools Preview           disabled
mysql-tools-preview-source         MySQL Tools Preview - Source  disabled
mysql55-community/x86_64           MySQL 5.5 Community Server    disabled
mysql55-community-source           MySQL 5.5 Community Server -  disabled
mysql56-community/x86_64           MySQL 5.6 Community Server    disabled
mysql56-community-source           MySQL 5.6 Community Server -  disabled
mysql57-community/x86_64           MySQL 5.7 Community Server    enabled:    364
mysql57-community-source           MySQL 5.7 Community Server -  disabled
mysql80-community/x86_64           MySQL 8.0 Community Server    disabled
mysql80-community-source           MySQL 8.0 Community Server -  disabled

Install mysql

# yum install mysql-server -y

Relatively slow, be patient

Installed:
  mysql-community-libs.x86_64 0:5.7.27-1.el7       mysql-community-libs-compat.x86_64 0:5.7.27-1.el7       mysql-community-server.x86_64 0:5.7.27-1.el7      

Dependency Installed:
  mysql-community-client.x86_64 0:5.7.27-1.el7        mysql-community-common.x86_64 0:5.7.27-1.el7        net-tools.x86_64 0:2.0-0.24.20131004git.el7       

Dependency Updated:
  openssl.x86_64 1:1.0.2k-16.el7_6.1                  openssl-libs.x86_64 1:1.0.2k-16.el7_6.1                  postfix.x86_64 2:2.10.1-7.el7                 

Replaced:
  mariadb-libs.x86_64 1:5.5.44-2.el7.centos                                                                                                                  

Complete!

Join boot from the start

# systemctl enable mysqld

Start mysql service process

# systemctl start mysqld

View mysql service process

# systemctl status mysqld

[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# 
[root@localhost ~]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2019-08-10 22:15:24 CST; 7s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 11810 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 11736 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 11813 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─11813 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

Aug 10 22:15:17 localhost.localdomain systemd[1]: Starting MySQL Server...
Aug 10 22:15:24 localhost.localdomain systemd[1]: Started MySQL Server.

Enter mysql

# mysql

[root@localhost ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

MySQL server initialization (starting from MySQL 5.7): when the server initial startup, if the server's data directory is empty, then the following occurs:

(1), the server is initialized

(2), generate an SSL certificate and key files in the data directory

(3) The validate_password plug-in installed and enabled

(4), will 'root'@'localhost' create a superuser account. Setting a supervisor password and store it in a log file. To show it, use the following command:

# grep "password" /var/log/mysqld.log

[root@localhost ~]# grep "password" /var/log/mysqld.log
2019-08-10T14:15:20.529782Z 1 [Note] A temporary password is generated for root@localhost: #&kdOvHin6gP
2019-08-10T14:16:10.145451Z 2 [Note] Access denied for user 'root'@'localhost' (using password: NO)

Using the username and password to enter the mysql

[root@localhost ~]# mysql -uroot -p
Enter password:        #输入初始密码
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.27

Copyright (c) 2000, 2019, 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>

After the initial operation of the database in order to enter the password to access the mysql database, it will not do anything, because the default MySQL password must be changed

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement

Modify the mysql password

Note:
MySQL's  validate_password  plug-in installed by default. This would require a password containing at least one capital letter, a small letter, a number and a special character, and a total length of a password of at least 8 characters.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql> SET PASSWORD = PASSWORD('Admin123!');

mysql> SET PASSWORD = PASSWORD('Admin123!');
Query OK, 0 rows affected, 1 warning (0.00 sec)

MySQL complete the initial password rules can be viewed with the following command:

mysql> SHOW VARIABLES LIKE 'validate_password%';

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)

The password is determined by validate_password_length, and validate_password_length formula is:

validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

If you want to set up a simple password to modify two global parameters:

mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=1;

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

View mysql password rules again

mysql> SHOW VARIABLES LIKE 'validate_password%';

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)

At this time, the password can be set very simple, like for example 1234

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)

You can set up remote login

Authorized remote login

grant all privileges on *.* to root@'%' identified by 'password' with grant option;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'password' WITH GRANT OPTION;

The first is your username root, password is the second remote password

mysql> grant all privileges on *.* to root@'%' identified by '123456' with grant option

flush command to make the configuration take effect immediately

mysql> flush privileges;

mysql> select user,host from mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)

mysql> grant all privileges on *.* to root@'%' identified by '123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host from mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
4 rows in set (0.00 sec)

Or use it to modify the statement authorized remote client login

use mysql;

show tables;

select Host,User from user \G

update user set host = '%' where Host = "localhost" and user = "root";

Modify some simple configuration:

The default character set is Latin character set, each time the database is created to set the character set; default does not support the group by statement, the default time zone is not our current Beijing (East eight districts), will lead us to the time difference 13 points.

Open the configuration file, yum install by default in the / etc folder: /etc/my.cnf

# We /etc/my.cnf

The default configuration is as follows:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

In [mysqld] Add the following, no semicolon

Character set: utf8, not utf8 Note that!

character-set-server=utf8

View mysql character set

mysql> show variables like 'char%';

The default character set as follows

mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

Set the time zone to the East eight districts

default-time_zone = '+8:00'

Support group by sql statement

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Reference blog:

CentOS7 yum installed MySQL5.7

centos7.4 installation MySQL5.7

https://blog.csdn.net/pzl_pzl/article/details/82015144

Using yum source mounting mysql5.7 record centos7

https://www.jianshu.com/p/531cc35b15e7

CentOS7 install MySQL

Guess you like

Origin www.cnblogs.com/djlsunshine/p/11331517.html