1. 二进制格式mysql安装
MySQL :: Download MySQL Community Server (Archived Versions)
mysql安装包网站链接
[root@mingzi src]# useradd -r -M -s /sbin/nologin mysql
[root@mingzi src]# id mysql
uid=995(mysql) gid=992(mysql) groups=992(mysql)
//创建一个不允许登录的系统用户
[root@mingzi src]# tar xf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
解压道这个目录
[root@mingzi local]# mv mysql-5.7.37-linux-glibc2.12-x86_64 mysql
[root@mingzi local]# ls
bin etc games include lib lib64 libexec mysql sbin share src
[root@mingzi local]# chown -R mysql.mysql mysql
[root@mingzi local]# ll
total 0
drwxr-xr-x. 2 root root 6 Jun 22 2021 bin
drwxr-xr-x. 2 root root 6 Jun 22 2021 etc
drwxr-xr-x. 2 root root 6 Jun 22 2021 games
drwxr-xr-x. 2 root root 6 Jun 22 2021 include
drwxr-xr-x. 2 root root 6 Jun 22 2021 lib
drwxr-xr-x. 3 root root 17 May 23 13:11 lib64
drwxr-xr-x. 2 root root 6 Jun 22 2021 libexec
drwxr-xr-x. 9 mysql mysql 129 Jun 28 13:38 mysql
drwxr-xr-x. 2 root root 6 Jun 22 2021 sbin
drwxr-xr-x. 5 root root 49 May 23 13:11 share
drwxr-xr-x. 2 root root 6 Jun 22 2021 src
//改掉属组
[root@mingzi local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >/etc/profile.d/mysql.sh
[root@mingzi local]# source /etc/profile.d/mysql.sh
//设置他的环境变量
[root@mingzi mysql]# ln -s /usr/local/mysql/include /usr/include/mysql
//做一个映射链接
[root@mingzi mysql]# vi /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
~
~
//配置lib库
[root@mingzi mysql]# ldconfig
[root@mingzi mysql]# vi /etc/man_db.conf
#MANDATORY_MANPATH /usr/src/pvm3/man
#
MANDATORY_MANPATH /usr/man
MANDATORY_MANPATH /usr/share/man
MANDATORY_MANPATH /usr/local/share/man
MANDATORY_MANPATH /usr/local/mysql/man
//修改man文档
[root@mingzi ~]# mkdir -p /opt/data
[root@mingzi ~]# chown -R mysql.mysql /opt/data
[root@mingzi ~]# ll /opt/
total 0
drwxr-xr-x. 2 mysql mysql 6 Jun 28 13:53 data
//建立数据存放目录
[root@mingzi ~]# mysqld --initialize --user mysql --datadir /opt/data
//初始化数据库
MihqWpsps9>E
//过滤出他的临时密码
[root@localhost ~]# cat /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve
sql-mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
//生成配置文件
[root@mingzi support-files]# cp mysql.server mysqld
[root@mingzi support-files]# chown -R mysql.mysql mysqld
[root@mingzi support-files]# ll
total 36
-rw-r--r--. 1 mysql mysql 773 Nov 30 2021 magic
-rwxr-xr-x. 1 mysql mysql 10576 Jun 28 14:24 mysqld
-rwxr-xr-x. 1 mysql mysql 1061 Nov 30 2021 mysqld_multi.server
-rwxr-xr-x. 1 mysql mysql 894 Nov 30 2021 mysql-log-rotate
-rwxr-xr-x. 1 mysql mysql 10576 Nov 30 2021 mysql.server
复制一个改掉属主
[root@mingzi support-files]# vi mysqld
basedir=/usr/local/mysql
datadir=/opt/data
//告诉他安装的路径
[root@mingzi support-files]# /usr/local/mysql/support-files/mysqld start
Starting MySQL.Logging to '/opt/data/mingzi.err'.
SUCCESS!
//用配置脚本启动
[root@mingzi support-files]# ss -ant
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
ESTAB 0 52 192.168.80.20:22 192.168.80.1:52734
ESTAB 0 0 192.168.80.20:22 192.168.80.1:53479
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 80 *:3306 *:*
[root@mingzi support-files]# ps -ef|grep mysql
root 1914 1 0 14:28 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/opt/data --pid-file=/opt/data/mysql.pid
mysql 2102 1914 0 14:28 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/opt/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=mingzi.err --pid-file=/opt/data/mysql.pid --socket=/tmp/mysql.sock --port=3306
root 2138 1584 0 14:29 pts/0 00:00:00 grep --color=auto mysql
[root@mingzi ~]# dnf provides libncurses.so.5
Last metadata expiration check: 0:53:57 ago on Tue 28 Jun 2022 01:38:41 PM CST.
ncurses-compat-libs-6.1-9.20180224.el8.i686 : Ncurses compatibility libraries
Repo : base
Matched from:
Provide : libncurses.so.5
//修改密码之前过滤他的依赖包安装上
[root@mingzi ~]# mysql -uroot -p'MihqWpsps9>E'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
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>
//用临时密码登录
mysql> set password = password
//修改密码
[root@mingzi ~]# cp /usr/lib/systemd/system/sshd.service mysqld.service
[root@mingzi ~]# ls
anaconda-ks.cfg mysqld.service
//复制一个开机自启文件
[root@mingzi ~]# cat mysqld.service
[Unit]
Description=mysql server daemon
After=network.target sshd-keygen.target
[Service]
Type=forking
ExecStart=/usr/local/mysql/support-flies/mysqld start
ExecStop=/usr/local/mysql/support-flies/mysqld stop
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
[root@mingzi ~]# mv mysqld.service /usr/lib/systemd/system/
[root@mingzi ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@mingzi ~]# setenforce 0
//关闭防火墙
[root@mingzi ~]# systemctl status mysqld
● mysqld.service - mysqld server daemon
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
Active: inactive (dead)
[root@mingzi ~]# systemctl enable mysqld
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.
[root@mingzi ~]# systemctl status mysqld
● mysqld.service - mysqld server daemon
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-06-28 15:15:20 CST; 1min 4s ago
Main PID: 1791 (mysqld_safe)
Tasks: 29 (limit: 11175)
Memory: 187.6M
CGroup: /system.slice/mysqld.service
├─1791 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/opt/data --pid-file=/opt/data/mysql.pid
└─1981 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/opt/data --plugin-dir=/usr/local/mysql/l>
Jun 28 15:15:19 mingzi systemd[1]: Starting mysqld server daemon...
Jun 28 15:15:20 mingzi mysqld[1778]: Starting MySQL. SUCCESS!
Jun 28 15:15:20 mingzi systemd[1]: Started mysqld server daemon.