赞
踩
目录
这是参照msyql官方文档写的(网上的教程五花八门,各有各的特色和技巧,不过还是以官方文档为主要参考最靠谱)
注意 : 适用于第一次安装的情况,系统上已经有之前安装过的版本的话,官方文档同一章也有升级、替换该怎么操作,这里不侧重
- #查看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

- 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
mysql官方下载页:MySQL :: MySQL Community Downloads
根据第二步你的内核版本,选择合适的yum仓库
以我的服务器版本为例,下载el7
wget https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
首先,将 MySQL Yum 存储库添加到系统的存储库列表中
- cd /your_rpm_root/
-
- sudo rpm -Uvh mysql80-community-release-el7-5.noarch.rpm(前面换成你自己的rpm包名)
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

- #--nogpgcheck (不校验数字签名)
- sudo yum install mysql-community-server -y --nogpgcheck
-
- #或者重新导入新的秘钥
- rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
- 开启服务
- systemctl start mysqld
- 查看状态
- systemctl status mysqld
- systemctl list-unit-files |grep mysql
- mysqld.service enabled
- mysqld@.service disabled
到这里安装部分算是完成了,官方安装文档看到这里就可以了。下面是一些配置-改密码,开远程服务
- #查看初始密码
- 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;
-
-

mysql下载地址,适用于所有平台
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.38.tar.gz
- #!/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

以上就是全部的内容。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。