01-mysql installation (rpm installation + binary installation)

Insert image description here

1. Installation in rpm mode

1. Check whether mariadb is installed

[root-mysql ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root-mysql ~]# 

Uninstall cleanup:rpm -e filename

[root-mysql ~]# rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
[root-mysql ~]# 
[root-mysql ~]# rpm -qa|grep mariadb  
[rootdb-mysql ~]# 

2. Download mysql

Official website address: https://downloads.mysql.com/archives/community/

Insert image description here

3. Upload and decompress

[root-mysql ~]# mkdir mysql-bundle

[root-mysql mysql-bundle]# tar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar
mysql-community-client-5.7.37-1.el7.x86_64.rpm
mysql-community-common-5.7.37-1.el7.x86_64.rpm
mysql-community-devel-5.7.37-1.el7.x86_64.rpm
mysql-community-embedded-5.7.37-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.37-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.37-1.el7.x86_64.rpm
mysql-community-libs-5.7.37-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm
mysql-community-server-5.7.37-1.el7.x86_64.rpm
mysql-community-test-5.7.37-1.el7.x86_64.rpm
[root-mysql mysql-bundle]# 

4. Installation

## 安装mysql所依赖的包
[root-mysql mysql-bundle]# rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm
warning: mysql-community-common-5.7.37-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-common-5.7.37-1.e################################# [100%]
[root-mysql mysql-bundle]# rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm
warning: mysql-community-libs-5.7.37-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-libs-5.7.37-1.el7################################# [100%]
[root-mysql mysql-bundle]# rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm
warning: mysql-community-client-5.7.37-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-client-5.7.37-1.e################################# [100%]
[root-mysql mysql-bundle]# 

## 安装mysql服务
[root-mysql mysql-bundle]# rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.37-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
error: Failed dependencies:
	net-tools is needed by mysql-community-server-5.7.37-1.el7.x86_64
[root-mysql mysql-bundle]# 

报错:error: Failed dependencies:
net-tools is needed by mysql-community-server-5.7.37-1.el7.x86_64

solve:

[root-mysql mysql-bundle]# yum install -y net-tools
[root-mysql mysql-bundle]# yum install -y perl
[root-mysql mysql-bundle]# yum install -y libaio
## 再次安装mysql服务
[root-mysql mysql-bundle]# rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.37-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-server-5.7.37-1.e################################# [100%]
[root-mysql mysql-bundle]# 

5. Check the installation

[root-mysql mysql-bundle]# rpm -qa|grep mysql
mysql-community-common-5.7.37-1.el7.x86_64
mysql-community-libs-5.7.37-1.el7.x86_64
mysql-community-client-5.7.37-1.el7.x86_64
mysql-community-server-5.7.37-1.el7.x86_64
[root-mysql mysql-bundle]#

6. Start the mysql service

[root-mysql mysql-bundle]# systemctl start mysqld
[root-mysql mysql-bundle]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2022-12-22 10:48:53 CST; 9s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 2190 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 2140 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 2194 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─2194 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

Dec 22 10:48:50 centos01 systemd[1]: Starting MySQL Server...
Dec 22 10:48:53 centos01 systemd[1]: Started MySQL Server.
[root-mysql mysql-bundle]# 

7. Log in to mysql

When you start mysql for the first time, a random password will be automatically generated, which can be viewed in /var/log/mysqld.log.

[root-mysql ~]# grep "password" /var/log/mysqld.log
2022-12-22T02:48:50.966917Z 1 [Note] A temporary password is generated for root: q=VIgtgHH7p_
2022-12-22T02:54:05.987706Z 2 [Note] Access denied for user 'root'@'localhost' (using password: YES)
2022-12-22T02:54:14.598377Z 3 [Note] Access denied for user 'root'@'localhost' (using password: NO)
2022-12-22T02:54:27.747247Z 4 [Note] Access denied for user 'root'@'localhost' (using password: YES)
[root-mysql ~]# 

Insert image description here

8. Modify password setting rules (simple type - for learning)

[root mysql-bundle]# mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root mysql-bundle]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.37

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

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> set global validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)

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

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

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

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

mysql> 

9. Change password

mysql>  alter user root identified by '123456';
Query OK, 0 rows affected (0.00 sec)

10. Authorize remote login

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

mysql> 

test:
![Picture description here](https://img-blog.csdnimg.cn/f02eadbd2a294ec3bcc526f068e9baa5.png

11. Start and stop mysql commands

## 启动 mysql 服务
[root-mysql ~]# systemctl start mysqld
## 关闭
[root-mysql ~]# systemctl stop mysqld
## 重启
[root-mysql ~]# systemctl restart mysqld
## 状态查看
[root-mysql ~]# systemctl status mysqld
## 设置开机自启
[root-mysql ~]# systemctl enable mysqld

12. Installation instructions in rpm mode

## rpm方式重要文件路径说明
主要文件默认路径如下:
配置文件路径:/etc/my.cnf
数据存储目录:/var/lib/mysql
错误日志存储路径:/var/log/mysqld.log
socket文件路径:/var/lib/mysql/mysql.sock
参数可以通过/etc/my.cnf参数配置文件查看和自定义。

2. Install V5.7.18 in binary mode

1. Upload and decompress

[root-mysql mysql-tar]# tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

Insert image description here

2. Create the installation directory

[root-mysql mysql-tar]# mkdir /usr/local/mysql

Insert image description here

3. Copy the decompressed file to the installation directory /usr/local/mysql/

[root-mysql ~]# mv mysql-5.7.18-linux-glibc2.5-x86_64/* /usr/local/mysql/

Insert image description here
Insert image description here

4. Create relevant directories

[root-mysql mysql]# mkdir /usr/local/mysql/data
[root-mysql mysql]# 
[root-mysql mysql]# mkdir /usr/local/mysql/log
[root-mysql mysql]# 
[root-mysql mysql]# touch /usr/local/mysql/log/mysqld.log
[root-mysql mysql]# 
[root-mysql mysql]# 

Insert image description here

5. Create mysql group and user

[root-mysql mysql]# groupadd mysql
[root-mysql mysql]# 
[root-mysql mysql]# useradd -r -g mysql mysql
[root-mysql mysql]# 

6. Change the installation directory ownership

[root-mysql mysql]# chown -R mysql /usr/local/mysql/
[root-mysql mysql]# chgrp -R mysql /usr/local/mysql/

Or use:

[root-mysql mysql]# chown -R mysql:mysql /usr/local/mysql

Insert image description here

7. Initialize MySQL

[root-mysql mysql]# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize

Insert image description here

8. Configure MySQL

[root-mysql mysql]# vi /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysqld.sock
user=mysql
port=3306
character-set-server=utf8
skip-grant-tables
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
socket=/tmp/mysqld.sock

Insert image description here

9. Start MySQL

[root-mysql mysql]# cd support-files/
[root-mysql support-files]# sh mysql.server start
Starting MySQL. SUCCESS! 
[root-mysql support-files]#

Insert image description here
Check whether the MySQL service starts successfully

[root-mysql support-files]# sh mysql.server status
 SUCCESS! MySQL running (2294)
[root-mysql support-files]#

10. Configure environment variables

[root-mysql support-files]# vi /etc/profile

export PATH=$PATH:/usr/local/mysql/bin

Insert image description here

Make the configuration effective

[root-mysql support-files]# source /etc/profile

11. Allow root account remote access

[root-mysql support-files]# mysql -u root -p

Insert image description here
Error reported when changing mysql database password:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement.

Solution: Refresh the permission table first

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

Insert image description here

12. Set the mysql service to start automatically at boot

[root-mysql mysql]# systemctl status mysqld

Error: Unit mysqld.service could not be found.

[root-mysql mysql]# find / -name mysql.server
/usr/local/mysql/support-files/mysql.server
[root-mysql mysql]# cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
[root-mysql mysql]# systemctl enable mysqld
mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld on
[root-mysql mysql]# systemctl status mysqld
● mysqld.service - LSB: start and stop MySQL
   Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:systemd-sysv-generator(8)
[root-mysql mysql]# 

13. Mysql service starts

[root-mysql mysql]# systemctl start mysqld
[root-mysql mysql]# systemctl status mysqld
● mysqld.service - LSB: start and stop MySQL
   Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)
   Active: active (exited) since 三 2023-05-10 18:28:08 CST; 2s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 10873 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=0/SUCCESS)

510 18:28:08 db-mysql systemd[1]: Starting LSB: start and stop MySQL...
510 18:28:08 db-mysql mysqld[10873]: Starting MySQL SUCCESS!
510 18:28:08 db-mysql systemd[1]: Started LSB: start and stop MySQL.
510 18:28:08 db-mysql mysqld[10873]: 2023-05-10T10:28:08.620811Z mysqld_safe A mysqld process already exists
[root-mysql mysql]# 

Guess you like

Origin blog.csdn.net/qq_41840843/article/details/130616685