RHEL7.6安装MySQL5.6.30
[root@mysql ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)
[root@mysql ~]# cat /proc/version
Linux version 3.10.0-957.el7.x86_64 (mockbuild@x86-040.build.eng.bos.redhat.com)
(gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Oct 4 20:48:51 UTC 2018
[root@mysql ~]# mkdir /software
[root@mysql ~]# cd /software/
[root@mysql software]# ll
total 31472
-rw-r–r–. 1 root root 32223818 Jul 27 12:05 mysql-5.6.30.tar.gz
安装yum源,方便后面安装相关软件包
[root@mysql yum.repos.d]# mkdir /media/cdrom
[root@mysql yum.repos.d]# mount /dev/cdrom /media/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
[root@mysql software]# cd /etc/yum.repos.d/
[root@mysql yum.repos.d]# ll
total 4
-rw-r–r–. 1 root root 358 Jul 27 11:23 redhat.repo
[root@mysql yum.repos.d]# rm -rf redhat.repo
[root@mysql yum.repos.d]# vi rhel.repo
[root@mysql yum.repos.d]# cat rhel.repo
[rhel]
name=rhel
baseurl=file:///media/cdrom
enable=1
gpgcheck=0
[root@mysql yum.repos.d]# yum clean all
[root@mysql yum.repos.d]# yum repolist all
查看相关安装包是否安装,未安装的需要手动安装,最好相关依赖包都安装上
[root@mysql software]# rpm -qa | grep make
automake-1.13.4-3.el7.noarch
make-3.82-23.el7.x86_64
[root@mysql software]# rpm -qa | grep bison
bison-3.0.4-2.el7.x86_64
[root@mysql software]# rpm -qa | grep gcc
gcc-gfortran-4.8.5-36.el7.x86_64
gcc-4.8.5-36.el7.x86_64
libgcc-4.8.5-36.el7.x86_64
gcc-c++-4.8.5-36.el7.x86_64
[root@mysql software]# rpm -qa | grep cmake
cmake-2.8.12.2-2.el7.x86_64
[root@mysql software]# rpm -qa | grep ncurses
ncurses-libs-5.9-14.20130511.el7_4.x86_64
ncurses-devel-5.9-14.20130511.el7_4.x86_64
ncurses-base-5.9-14.20130511.el7_4.noarch
ncurses-5.9-14.20130511.el7_4.x86_64
创建用户和组
[root@mysql software]# groupadd mysql
[root@mysql software]# useradd mysql -g mysql -M -s /sbin/nologin
——— -M表示不建立用户根目录,-s表示该用户不能登录操作系统
创建/data/mysql
[root@mysql software]mkdir -p /data/mysql
解压并安装MySQL软件包
[root@mysql software]# tar -zxvf mysql-5.6.30.tar.gz
[root@mysql software]# cd mysql-5.6.30/
[root@mysql mysql-5.6.30]# cmake ./
——————————————————————————–
——————————————————————————–
cmake ./ 报错curses library not found. please install appropriate package
删除刚才编译生成的 CMakeCache.txt 文件
rm -f CMakeCache.txt
安装 ncurses-devel 包
yum install ncurses-devel
———————————————————————————
———————————————————————————
[root@mysql mysql-5.6.30]# make
———— 这个过程有点长,将近半个小时
[root@mysql mysql-5.6.30]# make install
[root@mysql mysql]# cd /usr/local/mysql
[root@mysql mysql]# chown -R root:mysql .
[root@mysql mysql]# chown -R mysql:mysql ./data
[root@mysql mysql]# chmod -R ug+rwx .
[root@mysql mysql]# cp support-files/my-default.cnf /etc/my.cnf
[root@mysql mysql]# vi /etc/my.cnf
在[mysqld]下面添加:
user=mysql
datadir=/data/mysql
default-storage-engine=MyISAM
[root@mysql mysql]#scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/data/mysql –user=mysql
启动MySQL
[root@mysql mysql]# bin/mysqld_safe –user=mysql &
查看MySQL是否启动成功
[root@mysql ~]# ps -ef | grep mysql
avahi 9327 1 0 15:28 ? 00:00:00 avahi-daemon: running [mysql.local]
root 83638 10619 0 16:47 pts/0 00:00:00 /bin/sh bin/mysqld_safe –user=mysql
mysql 83774 83638 0 16:47 pts/0 00:00:00 /usr/local/mysql/bin/mysqld –basedir=/usr/local/mysql –datadir=/data/mysql –plugin-dir=/usr/local/mysql/lib/plugin –user=mysql –log-error=/data/mysql/mysql.err –pid-file=/data/mysql/mysql.pid
root 83859 26291 0 16:52 pts/1 00:00:00 grep –color=auto mysql
[root@mysql ~]# netstat -tnl | grep 3306
tcp6 0 0 :::3306 :::* LISTEN
在RHEL7中,使用systemctl 启动mysql
[root@mysql mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@mysql mysql]# service mysql status
SUCCESS! MySQL running (83774)
[root@mysql mysql]# service mysql stop
Shutting down MySQL. SUCCESS!
[root@mysql mysql]# service mysql start
Starting MySQL. SUCCESS!
[root@mysql mysql]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target
After=syslog.target
[Service]
User=mysql
Group=mysql
Type=forking
PermissionsStartOnly=true
ExecStart= /etc/init.d/mysqld start
ExecStop= /etc/init.d/mysqld stop
ExecReload= /etc/init.d/mysqld restart
LimitNOFILE = 5000
[Install]
WantedBy=multi-user.target
[root@mysql mysql]# systemctl daemon-reload
[root@mysql mysql]# systemctl start mysql
[root@mysql mysql]# systemctl status mysql
mysql.service – LSB: start and stop MySQL
Loaded: loaded (/etc/rc.d/init.d/mysql; bad; vendor preset: disabled)
Active: active (exited) since Tue 2021-07-27 16:57:43 CST; 2s ago
Docs: man:systemd-sysv-generator(8)
Process: 84193 ExecStart=/etc/rc.d/init.d/mysql start (code=exited, status=0/SUCCESS)
Jul 27 16:57:42 mysql systemd[1]: Starting LSB: start and stop MySQL…
Jul 27 16:57:43 mysql systemd[1]: Started LSB: start and stop MySQL.
Jul 27 16:57:43 mysql mysql[84193]: Starting MySQL SUCCESS!
测试
[root@mysql bin]# pwd
/usr/local/mysql/bin
[root@mysql bin]# ./mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.30 Source distribution
Copyright (c) 2000, 2016, 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> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select host,user from mysql.user;
+———–+——+
| host | user |
+———–+——+
| 127.0.0.1 | root |
| ::1 | root |
| localhost | |
| localhost | root |
| mysql | |
| mysql | root |
+———–+——+
6 rows in set (0.00 sec)
mysql> exit
Bye