1.MySQL的版本
- CE(社区版)
MySQL社区版是开源的,用户可以免费使用并获取其源代码。它是最受欢迎的版本之一,尤其适合小型企业和非商业用户,以及那些希望深入了解MySQL数据库和配置自动化运维工具的用户。由于社区版由广大的社区成员提供支持和维护,因此用户可以通过社区论坛和讨论获取技术支持。然而,由于社区支持的性质,可能无法提供像企业版那样的即时或高级的技术支持。一般都采用的是社区版
- EE
MySQL企业版是商业版本,需要付费使用。它提供了比社区版更多的高级功能和特性。这些功能包括但不限于在线备份、高级监控、富查询功能、安全性能、数据库复制和告警功能等。这些功能使得企业版能够满足大型企业和复杂业务场景的需求。此外,企业版还提供24小时在线支持和维护,确保用户在使用过程中获得及时的技术支持和问题解决。
2.MySQL的安装方式
- yum安装,简单,方便但是定制性差
- rpm包安装,手工下载,手工解决依赖,定制性差
- 二进制安装,安装方便,但是也要手工解决依赖,但是大部分企业都在使用该安装方式主要是中小企业为主
- 源码编译安装,安装麻烦过程复杂,手动安装依赖,但是定制性强
3.MySQL的下载地址
MySQL社区版本:https://downloads.mysql.com/archives/community/
MySQL5.7.44版本下载:https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
4.MySQL5.7.44的部署
4.1官方文档
MySQL的官方文档(5.7版本):https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
4.2MySQL5.7版本的部署
1.在Linux中利用yum下载wget
yum install -y wget
2.之后卸载掉和清除掉mariadb相关的文件以及软件,以及关闭防火墙和selinux
yum remove -y mariadb*
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux
3.下载MySQL的二进制包,下载完成之后根据官方文档下载依赖
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
yum install libaio -y
4.下载完成之后对压缩包进行解压
tar zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
5.创建mysql用户,mysql用户不用登录
useradd mysql /bin/nologin
6.创建好可以将解压好的MySQL文件重命名
mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql
7.将命名好的MySQL文件放到/usr/local文件夹下
mv mysql /usr/local
8.更改MySQL文件的属主和属组,进入到/usr/local文件夹中进行修改
chown mysql.mysql -R mysql/
9.在/etc中创建好my.cnf文件创建好以后要修改文件的属主属组并且设置好权限
touch my.cnf
chown mysql.mysql my.cnf
chmod 644 my.cnf
10.设置好权限之后编写my.cnf文件至于my.cnf文件以下做出解释:my.cnf是MySQL启动时加载的配置文件,用于保存MySQL服务器的许多参数,这些参数会影响服务器的性能表现。以下是配置文件
[mysqld] #服务端
user=mysql #指定MySQL服务器以哪个用户身份运行。在这个例子中,MySQL服务器将以mysql用户身份运行。
basedir=/usr/local/mysql #设定MySQL的安装基础目录。这通常是包含MySQL可执行文件和其他相关文件的目录。
port=3306 #指定MySQL服务器监听的TCP/IP端口号。默认情况下,MySQL使用3306端口,但你可以根据需要更改为其他端口
datadir=/data/3306/data #这是MySQL服务器用于存储数据库文件的目录。所有的数据库、表、索引和其他相关数据都会存储在这个目录下。
socket=/tmp/mysql.sock #这是MySQL服务器使用的UNIX套接字文件的路径。UNIX套接字是一种进程间通信的机制,它允许在同一台机器上的进程之间进行通信,而不必通过网络。通过这个套接字,客户端可以与MySQL服务器进行本地通信。
[client]
socket=/tmp/mysql.sock #这里的设置与上面的`[mysqld]`部分中的`socket`相同。它告诉MySQL客户端使用哪个UNIX套接字文件来与MySQL服务器进行通信。如果你使用的是本地连接(即,客户端和服务器都在同一台机器上),那么这通常是一个很好的选择,因为它比TCP/IP连接更快。
11.创建好配置文件中的数据目录并设置好数据目录的所属组和属主
mkdir -p /data/3306/data
chown mysql.mysql -R /data
12.配置环境变量,并使得环境变量生效
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
. /etc/profile
13.初始化数据库
在此处–initialize是会生成一个随机密码,这个密码是临时的,第一次登录时需要修改
–initialize-insecure则是不会生成管理员的密码密码是空的
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/data
14.拷贝MySQL的启动脚本到启动路径
cp mysql.service /etc/init.d/mysqld
15.最后利用systemctl启动MySQL
systemctl stop mysqld
16.测试
mysql #直接在命令行中输入MySQL
#在MySQL中测试
show databases;
最终可以查看到数据库
5.总结
故障:在安装过程中一定要注意**配置文件的权限和属组属主还有数据目录的属主属组,特别是配置文件,配置文件一的属组属主或者权限发生问题数据库是启动不了的,特别要注意的是配置文件的权限是644**还有的就是要把没mysql 的文件放在/usr/local的文件夹下。