首先进入官网MySQL :: Download MySQL Community Server (Archived Versions)
选择5.7版本中的最新版本,选择Linux - Generic
1.在xshell窗口中打开xftp7,将下载好的压缩包拖进窗口中
2.解决软件的依赖关系
yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel ncurses-compat-libs -y
3.解压MySQL二进制安装包,注意输入的命令中压缩包的名字要与下载的一致
tar xf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz
4.移动mysql解压后的文件到/usr/local下改名叫mysql
mv mysql-5.7.41-linux-glibc2.12-x86_64 /usr/local/mysql
5.新建用户和组 mysql
并设置mysql这个用户的shell是/bin/false 属于mysql组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
6.关闭firewalld防火墙服务,并且设置开机不要启动
service firewalld stop
systemctl disable firewalld
7.临时关闭selinux,并设置永久关闭selinux
setenforce 0
sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config
8.新建一个存放数据的目录
mkdir /data/mysql -p
修改/data/mysql目录的权限归mysql用户和mysql组所有,这样mysql用户可以对这个文件
夹进行读写了
chown mysql:mysql /data/mysql/
设置只是允许mysql这个用户和mysql组可以访问,其他人都不能访问
chmod 750 /data/mysql/
9.进入/usr/local/mysql/bin目录
cd /usr/local/mysql/bin/
10.初始化mysql
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql &>passwd.txt
11.让mysql支持ssl方式登录的设置
./mysql_ssl_rsa_setup --datadir=/data/mysql/
12.获得mysql的临时密码
tem_passwd=$(cat passwd.txt |grep "temporary"|awk '{print $NF}')
其中,$NF表示最后一个字段,abc=$(命令) 优先执行命令,然后将结果赋值给abc
13.修改PATH变量,加入mysql bin目录的路径
并设置重新启动linux系统后也生效,永久修改
export PATH=/usr/local/mysql/bin/:$PATH
echo 'PATH=/usr/local/mysql/bin:$PATH' >>/root/.bashrc
14.复制support-files里的mysql.server文件到/etc/init.d/目录下叫mysqld
cp ../support-files/mysql.server /etc/init.d/mysqld
15.修改/etc/init.d/mysqld脚本文件里的datadir目录的值
sed -i '70c datadir=/data/mysql' /etc/init.d/mysqld
16.生成/etc/my.cnf配置文件
cat >/etc/my.cnf <
EOF
17.修改内核的open file的数量
并设置开机启动的时候也配置生效
ulimit -n 1000000
echo "ulimit -n 1000000" >>/etc/rc.local
hmod +x /etc/rc.d/rc.local
18.启动mysqld进程
service mysqld start
19.将mysqld添加到linux系统里服务管理名单里
并设置mysqld服务开机启动
/sbin/chkconfig --add mysqld
/sbin/chkconfig mysqld on
20.初次修改密码需要使用--connect-expired-password 选项
-e 后面接的表示是在mysql里需要执行命令 execute 执行
修改root用户的密码为San123#
mysql -uroot -p$tem_passwd --connect-expired-password -e "set password='San123#';"
21.检验上一步修改密码是否成功,如果有输出能看到mysql里的数据库,说明成功。
mysql -uroot -p'San123#' -e "show databases;"
22. 装好之后需要重新进入root用户
su - root
进入MySQL:
mysql -uroot -p'San123#'