关键词:
文章目录
一、下载
进入 MySQL官网
找到社区版
:单击进入MySQL社区版下载页面
选择合适的版本
二、最小化安装配置
- 设置主机名称
[root@localhost ~]# hostnamectl set-hostname MySQL
[root@localhost ~]# su
- 更改IP获取方式为静态设置以及绑定主机名+IP到/etc/hosts
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR=192.168.44.100
NETMASK=255.255.255.0
GATEWAY=192.168.44.2
DNS1=8.8.8.8
DNS2=144.144.144.144
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
# vi /etc/hosts
192.168.44.100 MySQL
# systemctl restart network
如果是多网卡形式,建议使用ifdown与ifup
# ifdown ens33
# ifup ens33
# ip a
- 关闭防火墙和SELinux
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# vim /etc/selinux/config
SELINUX=disabled
- 配置国内公网yum源
找到centos
安装wget命令
# yum install wget -y
备份官方yum源
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 获取腾讯源
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
清空yum缓存,重新建立
# yum clean all
# yum makecache
- 安装扩展软件(bash-completion自动补全、vim编辑器、net-tools网络工具包以及ntpdate时间同步工具)
yum install bash-completion vim net-tools ntpdate -y
- 时间同步
时间同步网站
# ntpdate 111.230.50.201
三、MySQL的安装的几种方式
1.MySQL安装方式
二进制软件包安装
① yum安装或rpm安装(这篇博客有写)
② glibc版本安装(相当于Windows中的绿色软件)
命名:mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
依赖[^glibc]库,可以安装在通用的Linux系统下
源码包编译安装
命名:mysql-5.7.31.tar.gz,通用的Linux下都可以编译安装。
2. 三种安装方式的区别
安装方式 | 优点 | 缺点 |
---|---|---|
rpm | 安装卸载简单 | 可定制性差 |
glibs | 可定制性相比rpm包灵活些 | 安装相比rpm包复杂些,需要手动初始化数据库 |
源码安装 | 可定制性最强,根据需求和功能定制 | 安装麻烦,需要手动初始化数据库 |
四、MySQL的GLIBC版本安装
安装依赖库libaio库
yum install libaio -y
1. 上传软件包解压
[root@mysql ~]# tar -xf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
[root@mysql ~]# ls mysql-5.7.39-linux-glibc2.12-x86_64
bin docs include lib LICENSE man README share support-files
安装需求
选项 | 值(自定义也可以采用默认形式) | |
---|---|---|
安装路径 | /mysql_3306 | |
数据路径 | /mysql_3306/data | |
端口号 | 3306 |
2. 软件安装
第一步:创建一个数据库专用账号mysql(其所属组也为mysql)
# useradd -r -s /sbin/nologin mysql
# id mysql
第二步:清空系统中的原有mariadb的配置文件(/etc/my.cnf)
# rm -rf /etc/my.cnf
第三步:把mysql解压后的压缩包(GBLIC版本)移动到/根目录下,然后更名为mysql_3306
# mv mysql-5.7.31-linux-glibc2.12-x86_64 /mysql_3306
第四步:切换到mysql工作目录/mysql_3306,创建一个mysql-files
# cd /mysql_3306
# mkdir mysql-files
第五步:更改mysql-files权限(设置文件拥有者和所属组)
# chown mysql:mysql mysql-files
# chmod 750 mysql-files
第六步:初始化数据库(可以实现数据库的初始化,而且会产生一个随机密码)
# bin/mysqld --initialize --user=mysql --basedir=/mysql_3306
选项说明:
--initialize 初始化(真正开始干活)
--user=mysql 以mysql用户的身份初始化数据库,产生文件都是mysql作为拥有者
--basedir=xxx mysql其安装目录,非常重要
运行完毕后,观察最后一行,保存root账号的密码,以备后期使用。
2022-08-27T02:25:02.991975Z 1 [Note] A temporary password is generated for root@localhost: F+Ife6N%*kao
想查看mysql软件有没有初始化成功,主要看mysql目录下有没有产生data文件夹且文件夹中至少要有一个mysql的文件夹
第七步:设置安全加密连接(SSL),数据传输会采用加密形式,适合敏感数据
# bin/mysql_ssl_rsa_setup --datadir=/mysql_3306/data
第八步:启动MySQL数据库
# cp support-files/mysql.server /etc/init.d/mysql_3306
注意:默认情况下,GBLIC版本的数据库要求安装到/usr/local/mysql目录,其mysql.server脚本中对应的目录也是/usr/local/mysql,这会导致mysql无法启动。所以可以更改其basedir以及datadir两个变量
# vim /etc/init.d/mysql_3306
46行 basedir=/mysql_3306
47行 datadir=/mysql_3306/data
第九步:启动MySQL数据库(不能使用systemctl,只能使用service)
[root@mysql mysql_3306]# service mysql_3306 start
Starting MySQL.Logging to '/mysql_3306/data/mysql.err'.
SUCCESS!
特别说明:当MySQL启动成功后,其日志会自动写入到data数据目录中的主机名称.err文件中,这个文件一定要多看,涉及MySQL无法启动、启动报错,其详细的原因99%在.err文件中可以找到问题所在
第十步:让mysql自动启动
# chkconfig --list 查询系统中的所有开机启动项
# chkconfig --add mysql_3306 必须与/etc/init.d目录下的脚本名称一致
# chkconfig mysql_3306 on 把2345四种模式全部开启(3字符界面,5图形界面)
第十一步:把mysql客户端命令添加到环境变量,以后随时可以访问
# echo 'export PATH=$PATH:/mysql_3306/bin' >> /etc/profile
# source /etc/profile
设置完成后,我们可以在任意位置调用mysql客户端命令
测试登录MySQL
# mysql -uroot -p
3. MySQL GLIBC版本后续配置
第一步:更改管理员root账号的密码
[root@node1 mysql_3306]# bin/mysqladmin -uroot password 'root' -p
Enter password:输入刚刚初始化产生的临时密码
登录后mysql修改密码
mysql> set password='root';
第二步:手工定义MySQL的配置文件(非常重要)
# vim /mysql_3306/my.cnf
[mysqld]
basedir=/mysql_3306
datadir=/mysql_3306/data
socket=/tmp/mysql.sock
选项说明:
[mysqld] 代表针对服务器端进行配置
basedir 代表数据库的安装目录
datadir 代表数据目录,以后专门用于存放数据文件的(核心目录)
socket 代表套接字文件,专门为客户端与服务器端连接提供一个桥梁
重启MySQL
# service mysql_3306 restart
第三步:安全配置(对于生产环境比较重要)
除了第一个是否重新设置root密码直接回车,其它一路Y,搞定!
# mysql_secure_installation
常见问题:如何关闭MySQL密码强度检测?
# vim /mysql_3306/my.cnf
[mysqld]
...
validate_password=OFF
# service mysql_3306 restart
五、MySQL的源码编译安装
源码安装三步曲:配置——>编译——>安装
1. 安装需求
安装需求 | 具体配置 |
---|---|
安装目录(baedir) | /mysql_3307 |
数据目录(datadir) | /mysql_3307/data |
端口号 | 3307 |
socket文件位置 | $basedir/mysql.sock |
字符集 | utf8mb4 |
常用配置选项
配置选项 | 描述 | 默认值 | 建议值 |
---|---|---|---|
CMAKE_INSTALL_PREFIX | 安装基目录(basedir) | /usr/local/mysql | 根据需求 |
MYSQL_DATADIR | 数据目录(datadir) | $basedir/data | 根据需求 |
SYSCONFDIR | 默认配置文件my.cnf路径 | /etc | |
MYSQL_TCP_PORT | TCP/IP端口 | 3306 | 非默认端口 |
MYSQL_UNIX_ADDR | 套接字socket文件路径 | /tmp/mysql.sock | $basedir/ |
DEFAULT_CHARSET | 默认字符集 | latin1 | utf8mb4 |
DEFAULT_COLLATION | 默认校验规则 | latin1_swedish_ci | utf8mb4_general_ci |
WITH_EXTRA_CHARSETS | 扩展字符集 | all | all |
ENABLED_LOCAL_INFILE | 是否启用本地加载外部数据文件功能 | OFF | 建议开启 |
WITH_SSL | SSL支持类型 | system | 建议显式指定 |
WITH_BOOST | Boost库源代码的位置 | Boost库是构建MySQL所必需的,建议事先下载 |
存储引擎相关配置项
说明:
以下选项值均为布尔值,0或1;0代表不编译到服务器中,1代表编译,建议都静态编译到服务器中。
其他的存储引擎可以根据实际需求在安装时通过WITH_xxxx_STORAGE_ENGINE=1的方式编译到服务器中。
配置选项 | 描述 |
---|---|
WITH_INNOBASE_STORAGE_ENGINE | 将InnoDB存储引擎插件构建为静态模块编译到服务器中;建议编译到服务器中 |
WITH_PARTITION_STORAGE_ENGINE | 是否支持分区 |
WITH_FEDERATED_STORAGE_ENGINE | 本地数据库是否可以访问远程mysql数据 |
WITH_BLACKHOLE_STORAGE_ENGINE | 黑洞存储引擎,接收数据,但不存储,直接丢弃 |
WITH_MYISAM_STORAGE_ENGINE | 将MYISAM存储引擎静态编译到服务器中 |
2. MySQL的源码编译安装
第一步:安装MySQL编译需要用到的依赖库
# yum -y install ncurses-devel cmake libaio-devel openssl-devel
第二步:上传软件到服务器端并解压
# tar -xf mysql-boost-5.7.31.tar.gz
# cd mysql-5.7.31
第三步:配置(基于cmake进行配置)
# vim myconfig.sh
cmake . \\
-DCMAKE_INSTALL_PREFIX=/mysql_3307 \\
-DMYSQL_DATADIR=/mysql_3307/data \\
-DMYSQL_TCP_PORT=3307 \\
-DMYSQL_UNIX_ADDR=/mysql_3307/mysql.sock \\
-DWITH_INNOBASE_STORAGE_ENGINE=1 \\
-DWITH_PARTITION_STORAGE_ENGINE=1 \\
-DWITH_FEDERATED_STORAGE_ENGINE=1 \\
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \\
-DWITH_MYISAM_STORAGE_ENGINE=1 \\
-DENABLED_LOCAL_INFILE=1 \\
-DEXTRA_CHARSETS=all \\
-DDEFAULT_CHARSET=utf8mb4 \\
-DDEFAULT_COLLATION=utf8mb4_general_ci \\
-DWITH_SSL=system \\
-DWITH_BOOST=boost
选项说明:
-DCMAKE_INSTALL_PREFIX :安装路径
-DMYSQL_DATADIR :数据目录
-DMYSQL_TCP_PORT :端口号
-DMYSQL_UNIX_ADDR :套接字文件位置
执行配置文件
# chmod +x myconfig.sh
# ./myconfig.sh
第四步:编译安装
# make -j2 && make install
选项说明:
-j2 :代表同时开启多个线程共同实现编译操作
3. 编译报错常见问题解析
问题1:没有boost导致安装失败
解决方案:只能重新编译一下
# rm -f CMakeCache.txt
# make -j2 && make install
4. MySQL数据库的初始化
注意:**进入到安装目录里/mysql_3307
# cd /mysql_3307
第一步:创建mysql-files目录
创建系统变量`secure_file_priv`限制导入导出目录并修改权限
# mkdir mysql-files
# chown -R mysql:mysql /mysql_3307
# chmod 750 mysql-files
第二步:数据库初始化操作
# bin/mysqld --initialize --user=mysql --basedir=/mysql_3307 --datadir=/mysql_3307/data
这个是密码
2022-08-27T08:14:01.663647Z 1 [Note] A temporary password is generated for root@localhost: kHo5hDNdj0+z
第三步:拷贝mysql.server脚本到/etc/init.d目录,然后启动数据库
# cp support-files/mysql.server /etc/init.d/mysql_3307
# service mysql_3307 start
启动异常的解决方案:
查看mysql.itcast.cn.err
这个错误日志
5. MySQL源码编译安装后的后续配置
第一步:编写MySQL配置文件,my.cnf
# vim /mysql_3307/my.cnf
[mysqld]
basedir=/mysql_3307
datadir=/mysql_3307/data
socket=/mysql_3307/mysql.sock
重启数据库
# service mysql_3307 restart
第二步:设置管理员的密码
密码设置为root
# bin/mysqladmin -uroot password 'root' -p
Enter password:这里输入初始化数据库的时候的自动生成的密码
第三步:安全设置
# bin/mysql_secure_installation
输入数据库设置的密码
第一直接回车
其它全选y
第四步:添加mysql_3307到开机启动项
# chkconfig --add mysql_3307
# chkconfig mysql_3307 on
六、MySQL常见问题解决方案
方法1:直接使用==对应的客户==端软件访问
访问5.7.31版本数据库:
[root@node1 ~]# /mysql_3306/bin/mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \\g.
Your MySQL connection id is 3
Server version: 5.7.31 MySQL Community Server (GPL)
访问5.7.31版本数据库:
[root@node1 ~]# /mysql_3307/bin/mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \\g.
Your MySQL connection id is 7
Server version: 5.7.31 Source distribution
方法二:**定义别名**的方式访问
[root@mysql mysql_3307]# alias mysql_3306="/mysql_3306/bin/mysql"
[root@mysql mysql_3307]# alias mysql_3307="/mysql_3307/bin/mysql"
[root@mysql mysql_3307]# mysql_3306 -uroot -p
[root@mysql mysql_3307]# mysql_3307 -uroot -p
zabbix4.4.4源码编译安装(代码片段)
zabbix4.4.4源码编译安装mysql8.0.17二进制包安装php72yum源安装nginx1.16.1yum源安装0.基础环境zabbix_server172.16.1.71zabbix_agent172.16.1.511.安装MySQL8.0.17(1)安装依赖包yuminstallbison-develncurses-devellibaio-devel(2)下载二进制包wget-chttps://mirrors.tuna.ts... 查看详情
linux+mysql不同版本卸载和安装(代码片段)
我自己的问题是,之前apt-get安装的mysql-5.7.18版本过高,由于工程需要,需要安装mysql-5.6.33,下面我们开始。详细可见官网一、安装1.源码编译安装比较麻烦,需要很多的依赖库,编译时间很长也很容易出错... 查看详情
linux系统mysql-5.7.18release版安装指南(代码片段)
与源码版本安装过程基本一致,除了编译环节,本文只谈release版,即含有bin文件版本好处:每个用户可安装属于自己的MySQLServer目标主机系统:CentOS6.8用户:saojie(没有管理员权限)目录:/home/saojie/mysql-5.7.18下载LinuxGeneric地址... 查看详情
史上最全的mysql安装指南(各种踩坑,疑难杂症)(代码片段)
文章目录前言一、MySQL安装简介1.1Linux环境安装MySQL1.2Windows环境安装MySQL二、Linux环境安装各个版本MySQL2.1Linux环境RPM包安装MySQL2.1.1MySQLRPM包下载2.1.2yum安装依赖包2.1.3添加用户及组2.1.4安装Mysql2.1.5初始化2.1.6启动MySQL2.1.7远程登陆2.2Li... 查看详情
lamp源码搭建详解及wordpress搭建(代码片段)
文章目录LAMP架构LAMP概述实验环境实验步骤Apache源码安装Mysql源码安装PHP源码安装搭建WordPressLAMP架构优化LAMP架构LAMP概述Linux下LAMP(Linux+Apache+MySQL/MariaDB+PerI/PHP/Python)是一组用来搭建动态网站的开源软件架构,本身是各自独... 查看详情
linux下如何安装mysql?(代码片段)
目标主机:centos8MySQL安装所有平台的MySQL下载地址为:https://dev.mysql.com/downloads/repo/yum/。挑选你需要的MySQLCommunityServer版本及对应的平台。注意:安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足导致无法安装。... 查看详情
lnmp源码安装禅道(代码片段)
编译安装mysql下载:wget‘https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.39.tar.gz‘安装依赖yuminstall-ywgetlrzszunzipgccgcc-c++maketaropensslopenssl-develcmakencursesncurses-devel编译:cmake-DCMAKE_INSTALL_PREF 查看详情
linux安装mysql详细步骤(代码片段)
文章目录1、Linux安装数据库的详细步骤1.1、安装前期准备1.2、具体安装步骤1.2.1、解压mysql压缩文件1.2.2、进入解压后mysql文件中建立data文件夹1.2.3、创建一个新Linux用户,用来执行mysqld命令1.2.4、初始化mysql1.2.5、启用安全功能... 查看详情
ubuntu编译安装mysql5.7(代码片段)
目录下载mysql5.7源码包的手动方法带boost的mysql源码包安装不带boost的mysql源码包下载安装下载mysql5.7源码包的手动方法网址https://dev.mysql.com/downloads/mysql/5.7.html#downloadsSelectOperatingSystem选择SourceCodeSelectOSversion选择AllOperatingSyste 查看详情
linux上安装mysql(代码片段)
Linux上的MySql的安装和应用准备:把jdk安装好。虚拟机centos7安装好下载好MySQL的压缩包1、使用xftp6把MySQL的安装程序上传到/opt目录下。 2、检查是否安装了MariaDB数据库,如果有,首先删除。检测是否有MariaDB数据库删... 查看详情
linux下安装mysql(代码片段)
..1.下载linux的mysql安装包https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz..2.上传到linux/usr/local/解压,重命名cd/usr/localrztar-zxvfmysql-5.6.43-linux-glibc2.12-x86_64.ta 查看详情
linux下安装mysql(代码片段)
Mysql5.6安装(1)拷贝mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz(2)tar-xvfmysql-5.6.42-linux-glibc2.12-x86_64.tar.gz(3)改名mvmysql-5.6.42-linux-glibc2.12-x86_64mysql(4)安装依赖包。yuminstallautoconflibaio(5)添加用户和组,修 查看详情
linux下安装mysql(代码片段)
...ev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.22-1.el6.i686.rpm-bundle.tar安装检测是否已经安装了m 查看详情
linux安装mysql(代码片段)
mysql安装教程下载地址:https://downloads.mysql.com查看系统中默认的mysql依赖rpm-qa|grepmysqlrpm-qa|grepmariadbrpm-e--nodeps....修改hosts文件vi/etc/hosts192.168.188.130itchaodb01pingitchaodb01创建目录mkdir-p/mysql/appmkdir-p/mysq 查看详情
zabbix--源码安装报错总结(代码片段)
源码安装zabbix报错总结1)报错: configure:error:MySQLlibrarynotfound 解决办法 #find/-name"mysql_config"/usr/local/mysql/bin/mysql_config#./configure--with-mysql=/usr/local/mysql/bin/mysql_config2)报错:co 查看详情
linux安装mysql(代码片段)
linux版本mysql下载地址文章目录linux版本mysql下载地址1.安装lrzsz2.上传文件3.解压4.移动并修改权限5.创建数据目录并赋权限6.配置my.cnf7.初始化数据库8.修改root密码解决linux下无法输入中文字符本用户使用centos81.安装lrzszyuminstall-ylrzsz... 查看详情
linux上安装mysql超详细(代码片段)
Linux上安装MySQL第一步:确保服务器在最新的状态(可有可无)[root@chenstudy~]#yum-yupdate第二步:检测系统是否自带安装MySQL我之前安装过MySQL,现在已经卸载了[root@chenstudy~]#rpm-qa|grepmysql如果你系统有安装,那可以选择进行卸载:rpm-em... 查看详情
linux安装mysql(代码片段)
1.我们进入需要安装的目录下cd/usr/local/java2.检测系统是否自带安装mysqlyumlistinstalled|grepmysql有的话需要卸载3.给CentOS添加rpm源,并且选择较新的源wgethttps://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm下载完成4.安装第一步下... 查看详情