作者:阿离说你是宝贝 | 来源:互联网 | 2023-09-17 05:51
两种MySQL安装包在CentOS上安装MySQL有两种方式:RPM包(推荐).tar.gz包MySQL常用的两种安装包原生格式的一般就是RPM包,更为通用的就是.tar.gz包,
两种MySQL安装包
在CentOS上安装MySQL有两种方式:
MySQL常用的两种安装包
原生格式的一般就是RPM包,更为通用的就是.tar.gz包,这里我们采用绝大多数使用的RPM包安装方式。因为用yum安装方便,而且自带解决各种库依赖的问题,比纯粹的rpm命令简单多了,不知道为啥网上都是用rpm命令。
一、下载安装
1. 禁用SELinux服务
如果不禁用的话,后面启动MySQL服务会被阻止。另外,千万不要卸载CentOS自带的mariadb数据库,不要卸载!安装过程会自动替换mariadb,自己卸载会产生一些问题。
用root登陆shell:su
//下文所有输入的命令都在root用户下输入
gedit /etc/selinux/config
将其中的SELINUX=设置为disabled,保存退出,重启电脑使之生效。
2. 下载tar压缩包并解压出RPM安装包
Download MySQL Community Server地址:
Download MySQL Community Server dev.mysql.com
解压下载的mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar包(右键解压),解压后你会看到有12个rpm包,这些包的作用如下表:
- mysql-community-client(*客户端程序和工具)
- mysql-community-server(*服务器程序和工具)
- mysql-community-libs(*LIB库)
- mysql-community-libs-compat(*LIB共享兼容库)
- mysql-community-common(*公共文件)
- mysql-community-devel(开发MySQL必备的头文件和库)
- mysql-community-embedded(嵌入式库)
- mysql-community-embedded-compat(嵌入式共享兼容库)
- mysql-community-embedded-dev(嵌入式开发库)
- mysql-community-minimal-debuginfo(最小安装调式信息库)
- mysql-community-server-minimal(最小安装服务器程序和工具)
- mysql-community-test(测试套件)
上述中5个带*号的为必安装项。因为mysql-community-server和mysql-community-server-minimal有重叠的部分,安装其中一个即可,所以这里删除mysql-community-server-minimal最小安装这个包,我们完全安装server程序。如果不这样的话后面安装会报冲突错误。
3. yum命令安装所需包
yum install mysql-community-{server,client,common,libs}-*
安装结束后会在Linux中的各种目录生成必要的文件,如下表:
至此,CentOS 7 安装MySQL 5.7.21结束,像什么添加mysql用户及mysql用户组等操作都是采用.tar.gz这种安装方式才需要设置的,而这里RPM安装包自动把这些都设置好了。
二、安装完毕后的设置
1. 设置Data数据位置
默认Data数据存储在/var/lib/mysql,由于我这里/var/目录存储空间小,所以我想指定/home/为我的数据存放点。如果你们觉得默认位置就可以了,这一步骤忽略。
先删除默认的路径:
rm -rf /var/lib/mysql
新建我要存放的目录:
mkdir /home/mysql
修改my.cnf配置文件
gedit /etc/my/cnf
- 开头加入user=mysql
- 将datadir这项修改为datadir=/home/mysql
- 将socket这项修改为socket=/home/mysql/mysql.sock
如果作为客户端启动不了,添加两行:
[mysql]
socket=/home/mysql/mysql.sock
用mysqld执行mysql初始化数据目录:
mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql
这时你会看到设定的目录下生成了一些必要的文件
官方建议从MySQL 5.7.6开始,不要再用mysql_install_db命令初始化数据目录了。顺便把配置文件my.cnf也传入参数。
2. 启动MySQL服务
systemctl start mysqld
可以用service mysqld status查看是否启动成功:
启动成功!
3. 给root添加密码
进入mysql,给root分配密码:
mysql -uroot --skip-password
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
这样我们就设置好密码了(123456,以后可以用下列命令登陆mysql了:
mysql -uroot -p123456