1.环境准备
查看当前Linux操作系统版本为CentOS release 6.10
[root@ufo129 ~]# lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.10 (Final)
Release: 6.10
Codename: Final
2.下载安装包
下载网址
https://dev.mysql.com/downloads/mysql/
下载对应操作系统的mysql安装包(没有账号可以免费注册一个账号)
3.预备知识
很多对mysql很熟悉的用户都喜欢采用源码来进行安装,因为在安装源码包的过程中能够提供更灵活的安装选项和更多的性能设置,这样安装的数据库性能较高,具体的个性定制化参数可参考官方文档:
https://dev.mysql.com/doc/refman/8.0/en/source-configuration-options.html
例如:
必要的安装依赖可参考官方说明:
https://dev.mysql.com/doc/refman/8.0/en/source-installation-prerequisites.html
例如(安装过程复杂,依赖嵌套依赖,具体可百度一下)(若满足安装依赖,可忽略此步)
4.执行安装
用root登录操作系统,增加mysql用户和组,数据库将安装在此用户下(如若已存在MySQL用户,在确定不影响其他功能的情况下,可将之删除,并重建)
[root@ufo ~]# userdel -r mysql
userdel: mysql mail spool (/var/spool/mail/mysql) not found
[root@ufo ~]# groupadd mysql
[root@ufo ~]# useradd -g mysql mysql
创建安装目录,上传安装包等操作
[root@ufo ~]# mkdir -p /opt/mysql
[root@ufo ~]# cd /opt/mysql
[root@ufo mysql]# ll
total 257964
-rw-r--r-- 1 root root 264147972 Apr 14 23:54 mysql-boost-8.0.19.tar.gz
[root@ufo mysql]# tar -xzvf mysql-boost-8.0.19.tar.gz
[root@ufo mysql]# cd mysql-8.0.19/
[root@ufo mysql-8.0.19]# mkdir bld
[root@ufo mysql-8.0.19]# cd bld/
预设安装参数(安装位置、生成副本的个数)
[root@ufo bld]# cmake .. -DCMAKE_INSTALL_PREFIX=/opt/mysql_8 -DCPACK_MONOLITHIC_INSTALL=1
[root@ufo bld]# make
[root@ufo bld]# make install
或
make install DESTDIR="/opt/mysql_8"
[root@ufo bld]# cd /opt/mysql_8
[root@ufo mysql_8]# mkdir mysql-files
[root@ufo mysql_8]# chown mysql:mysql mysql-files
[root@ufo mysql_8]# chmod 750 mysql-files
初始化时请记住root的临时密码
[root@ufo mysql_8]# bin/mysqld --initialize --user=mysql
[root@ufo mysql_8]# bin/mysql_ssl_rsa_setup
后台启动mysql
用kill -9可关闭后台mysql进程
[root@ufo mysql_8]# bin/mysqld_safe --user=mysql &
配置环境变量、以及服务
[root@ufo mysql_8]# vim /etc/profile
export PATH=$PATH:/usr/local/mysql_8/bin
[root@ufo mysql_8]# source /etc/profile
[root@ufo mysql_8]# cp support-files/mysql.server /etc/init.d/mysql.server
[root@ufo mysql_8]# vim /etc/init.d/mysql.server
basedir=/opt/mysql_8/
datadir=/opt/mysql_8/data
启动服务、修改临时密码、重启生效(修改的密码必须满足密码策略:字母大小写、数字和特殊字符,长度不小于8)
[root@ufo mysql_8]# service mysql.server start
Starting MySQL SUCCESS!
[root@ufo mysql_8]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19
Copyright (c) 2000, 2020, 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>
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Ufo_123456';
Query OK, 0 rows affected (0.14 sec)
mysql> flush privileges;
5.执行卸载
1.关闭数据库 service mysql.server stop
2.删除mysql用户(可选、不影响其他使用)userdel -r mysql
2.删除之前的环境变量配置 /etc/profile
3.删除之前的启动服务 /etc/init.d/mysql.server
4.删除整个安装目录 /opt/mysql_8
7.删除全局参数文件(如果有my.cnf)
注意:具体的目录、配置等取决于之前配置过的位置
6.文件布局
可通过参数个性化定制文件布局,默认文件布局如下:
7.总结
优点:可按需定制编译,最灵活;性能最好;一台服务器可以安装多个mysql。
缺点:安装过程复杂;编译时间长。
官方参考:https://dev.mysql.com/doc/refman/8.0/en/installing-source-distribution.html