目录
前言
这是参照msyql官方文档写的(网上的教程五花八门,各有各的特色和技巧,不过还是以官方文档为主要参考最靠谱)
注意 : 适用于第一次安装的情况,系统上已经有之前安装过的版本的话,官方文档同一章也有升级、替换该怎么操作,这里不侧重
一、yum方式安装
1.替换yum源(建议)
#查看yum源信息
yum repolist
#定位到base reop源位置
cd /etc/yum.repos.d
#接着备份旧的配置文件
mv CentOS-Base.repo CentOS-Base.repo.bak
#下载阿里源的文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#清理缓存
yum clean all
#重新生成缓存
yum makecache
#再次查看yum源信息
yum repolist
2.查看你的Linux内核版本
cat /proc/version
或者
hostnamectl
[root@localhost ~]# hostnamectl
Static hostname: localhost.localdomain
Icon name: computer-vm
Chassis: vm
Machine ID: ce1626b5cfe74ad6b56d4e732a87b3d5
Boot ID: 28466bbc87064f9b82a6f1c731873215
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.el7.x86_64
Architecture: x86-64
3.下载yum源
mysql官方下载页:MySQL :: MySQL Community Downloads
根据第二步你的内核版本,选择合适的yum仓库
以我的服务器版本为例,下载el7
wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
4、添加 MySQL Yum 存储库
首先,将 MySQL Yum 存储库添加到系统的存储库列表中
cd /your_rpm_root/
sudo rpm -Uvh mysql80-community-release-el7-5.noarch.rpm(前面换成你自己的rpm包名)
5、选择发布系列
yum repolist all | grep mysql
[root@localhost ~]# yum repolist all | grep mysql
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Comm 禁用
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Comm 禁用
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Comm 禁用
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Comm 禁用
mysql-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Comm 禁用
mysql-cluster-8.0-community-debuginfo/x86_64 MySQL Cluster 8.0 Comm 禁用
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Comm 禁用
mysql-connectors-community/x86_64 MySQL Connectors Commu 启用: 192
mysql-connectors-community-debuginfo/x86_64 MySQL Connectors Commu 禁用
mysql-connectors-community-source MySQL Connectors Commu 禁用
mysql-tools-community/x86_64 MySQL Tools Community 启用: 90
mysql-tools-community-debuginfo/x86_64 MySQL Tools Community 禁用
mysql-tools-community-source MySQL Tools Community 禁用
mysql-tools-preview/x86_64 MySQL Tools Preview 禁用
mysql-tools-preview-source MySQL Tools Preview - 禁用
mysql57-community/x86_64 MySQL 5.7 Community Se 启用: 584
mysql57-community-source MySQL 5.7 Community Se 禁用
mysql80-community/x86_64 MySQL 8.0 Community Se 禁用
mysql80-community-debuginfo/x86_64 MySQL 8.0 Community Se 禁用
mysql80-community-source MySQL 8.0 Community Se 禁用
添加完yum源之后,如果什么都不做直接安装的话,会默认安装最新的mysql版本,也就是mysql8.0的最新发行版。如果想要开启5.7,禁用8.0有两种方法:
一个是用命令修改*/etc/yum.repos.d/mysql-community.repo*文件。
sudo yum-config-manager --disable mysql80-community
sudo yum-config-manager --enable mysql57-community
另一个是直接修改这个文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
总用量 56K
-rw-r--r--. 1 root root 2.5K 7月 21 14:32 CentOS-Base.repo
-rw-r--r--. 1 root root 1.7K 10月 23 2020 CentOS-Base.repo.bak
-rw-r--r--. 1 root root 1.3K 10月 23 2020 CentOS-CR.repo
-rw-r--r--. 1 root root 649 10月 23 2020 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 10月 23 2020 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 657 7月 19 09:39 CentOS-Media.repo
-rw-r--r--. 1 root root 1.3K 10月 23 2020 CentOS-Sources.repo
-rw-r--r--. 1 root root 8.4K 10月 23 2020 CentOS-Vault.repo
-rw-r--r--. 1 root root 616 10月 23 2020 CentOS-x86_64-kernel.repo
-rw-r--r--. 1 root root 1.2K 4月 8 18:00 mysql-community-debuginfo.repo
-rw-r--r--. 1 root root 2.1K 7月 21 14:42 mysql-community.repo
-rw-r--r--. 1 root root 2.1K 4月 8 18:00 mysql-community-source.repo
[root@localhost yum.repos.d]# vim mysql-community.repo
6、安装MySQL
#--nogpgcheck (不校验数字签名)
sudo yum install mysql-community-server -y --nogpgcheck
#或者重新导入新的秘钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
7、开启MySQL
开启服务
systemctl start mysqld
查看状态
systemctl status mysqld
8、开机自启(默认开启)
systemctl list-unit-files |grep mysql
mysqld.service enabled
mysqld@.service disabled
到这里安装部分算是完成了,官方安装文档看到这里就可以了。下面是一些配置-改密码,开远程服务
9、改默认密码
#查看初始密码
sudo grep 'temporary password' /var/log/mysqld.log
#登录
mysql -uroot -p
#降低mysql密码校验规则(非必要)
set global validate_password_policy=LOW;
#修改mysql密码长度(非必要)
set global validate_password_length=5;
#改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
#退出重进后
use mysql;
#远程访问
update user set Host='%' where User='root';
#刷新
flush privileges;
二、源码包安装
1、下载地址
mysql下载地址,适用于所有平台
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.38.tar.gz
2、脚本一键安装
#!/bin/bash
#
#Author: lick
#颜色显示
color_red="echo -e \033[31m"
color_green="echo -e \033[32m"
colorEnd="\033[0m"
#主菜单
menu(){
cat << EOF
1 清除旧环境(慎用)
2 安装编译所需工具
3 已有源码,直接编译安装
4 下载源码,直接编译安装
5 初始化生成密码
6 添加到开机自启并配置软连接
q 正常退出
EOF
read -p "请输入选项: " choose
}
clear_env (){
yum remove -y mariadb* mysql* &> /dev/null
#find / -iname "*mysql*" |xargs rm -rf
#find / \( -path /root -o -path /mnt -o -path /usr/local/mysql \) -prune -o -iname "*mysql*" -print |xargs rm -rf
setenforce 0 &> /dev/null
sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
systemctl disable --now firewalld
id mysql &> /dev/null && userdel -r mysql 2> /dev/null
useradd -r -s /sbin/nologin -M mysql &> /dev/null
rm -rf /usr/local/mysql/
mkdir /usr/local/mysql/
$color_green 已删除原有数据库和mysql文件,已关闭selinux和firewalld,已新建mysql用户和/usr/local/mysql文件夹 $colorEnd
}
install_tools (){
yum install -y ncurses-devel cmake gcc perl-Data-Dumper gcc-c++ git openssl-devel make > /dev/null && $color_green编译工具已安装...$colorEnd || $color_red安装工具失败,请检查网络或yum$colorEnd
}
mysql_source1 (){
read -p "请输入你的源码包地址和名称:" mysql_pkg
cp $mysql_pkg /usr/local/mysql/mysql.tar.gz &> /dev/null && $color_green检测到源码包准备开始编译...$colorEnd || $color_red未找到源码,请检查重来...$colorEnd
}
mysql_source2 (){
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-boost-5.7.38.tar.gz --no-check-certificate -O /usr/local/mysql/mysql.tar.gz
}
code_install (){
tar xf /usr/local/mysql/mysql.tar.gz -C /usr/local/mysql/
cd /usr/local/mysql/mysql-5.7.38/
cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
$color_green cmake完成,准备make...$colorEnd && make install
}
init_mysql (){
cd /usr/local/mysql && mkdir mysql-files && chown -R mysql.mysql /usr/local/mysql
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
}
chk_mysql (){
# 将文件拷贝到指定位置
cp -a /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
# 添加mysql服务
chkconfig --add mysql
#设置软连接
ln -s /usr/local/mysql/bin/* /usr/sbin/
}
while true;do
menu
case $choose in
3) mysql_source1
code_install;;
4) mysql_source2
code_install;;
1) clear_env;;
2) install_tools;;
5) init_mysql;;
6) chk_mysql;;
q) $color_green正常退出...$colorEnd && exit;;
*) $color_red输入有误,请检查重来...$colorEnd ;;
esac
done
三、rpm方式安装
总结
以上就是全部的内容。