MySQL安装(yum版)
MySQL安装(yum版)
一、centos7中安装MySQL
1、使用yum安装
-
# 安装MySQL的yum配置源的rpm包链接 # 需按照Linux系统版本进行选择 # 一个rpm包中包含多个版本的MySQLyum源 https://dev.mysql.com/downloads/repo/yum/# 多提一嘴# 查看Linux发行版版本号命令cat /etc/os-releasecat /etc/redhat-release# 查看Linux内核版本号uname -runame -a
-
安装rpm包
-
# 需要用到wget yum install -y wget wget https://repo.mysql.com/mysql-community-release-el7.rpm # 下载 rpm -ivh mysql-community-release-el7.rpm # 安装
-
-
在msyql-community.repo中有多个版本的MySQL,将需要下载的MySQL版本源中的enabled设置为1,其它版本设置为0
-
[root@yun02 yum.repos.d]# cat mysql-community.repo # Enable to use MySQL 5.5 [mysql55-community] name=MySQL 5.5 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Enable to use MySQL 5.6 [mysql56-community] name=MySQL 5.6 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Enable to use MySQL 5.7 [mysql57-community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/ enabled=1 # 这里若要安装,将其设置为1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
安装MySQL
- 在安装MySQL前,首先要将系统里原有的数据库清理干净;ceontos7开始系统默认预装mariadb,之前预装的是MySQL
-
CentOS7之前
-
systemctl stop mysqld # 先关闭服务 rpm -qa | grep mysqld # 在Linux系统中列出所有已安装的RPM软件包,然后筛选出与mysqld相关的包 # 然后按照列出的顺序依次删除 rpm -e --nodeps mysql-community-server # rpm -e:表示 erase,即卸载指定的软件包。 rpm -e --nodeps mysql-community-client # --nodeps:表示忽略依赖关系,强制卸载,即使其他软件包依赖这个包也不做检查。 rpm -e --nodeps mysql-community-libs rpm -e --nodeps mysql-community-common# 卸载完基本的环境后,我们要清理依赖的文件(数据库配置文件及数据库数据文件)-- 删除数据库配置文件(一般情况下卸载了mysql这个文件也会被自动删除)rm -rf /etc/my.cnf -- 删除数据库数据文件(包含系统数据库表和自定义数据库表),但是如果陌生服务器,此步骤谨慎!!!!!!rm -rf /var/lib/mysql -- 删除日志临时文件(比如安装后产生密码的文件,不删除会发现安装后查询2个初始密码,但以下面的为主)rm -rf /var/log/mysqld.log
-
CentOS7之后(含7版本)
-
rpm -qa | grep mariadb # 查询 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 # 删除-- 删除数据库配置文件(一般情况下卸载了mysql这个文件也会被自动删除)rm -rf /etc/my.cnf -- 删除数据库数据文件(包含系统数据库表和自定义数据库表),但是如果陌生服务器,此步骤谨慎!!!!!!rm -rf /var/lib/mysql -- 删除日志临时文件(比如安装后产生密码的文件,不删除会发现安装后查询2个初始密码,但以下面的为主)rm -rf /var/log/mysqld.log
- 安装MySQL
-
yum install -y mysql-server# 报错情况 yum install mysql-community-server --nogpgcheck # 若出现以下情况输入该命令跳过密钥检查即可
-
启动MySQL
-
在使用该命令前需要确定mysql用户和用户组是否创建(一般情况下安装MySQL的过程中系统会自动创建) [root@yun02 ~]# id mysql uid=27(mysql) gid=27(mysql) 组=27(mysql)mysqld --initialize # 初始化MySQL数据库的数据目录,为新安装的MySQL实例准备“首次使用”的基础数据环境。mysqld:这是 MySQL服务器进程(数据库服务守护程序)--initialize:表示初始化数据目录,其作用包括:创建MySQL系统库(如 mysql、information_schema、performance_schema 等)。生成MySQL数据库所需的目录结构和数据文件。随机生成一个临时root密码(存放在 MySQL的错误日志文件中)。注意:安装MySQL后,第一次使用前必须初始化数据库目录,否则MySQL服务无法启动。使用前提:数据目录必须是空的。具有相应的文件权限(通常是 mysql 用户)。# 多提一嘴 mysqld --initialize --user=mysql 指定以 mysql 用户身份进行初始化。 初始化完成后,数据目录(通常是 /var/lib/mysql)下会生成必要的数据库文件和系统库。
命令 作用 mysqld --initialize
随机生成root密码,安全性较高(生产环境推荐)。 mysqld --initialize-insecure
不生成root密码,root账户空密码(测试环境可用,风险较高)。 -
将 /var/lib/mysql/ 的属主属组改为mysql用户和用户组
-
chown -R mysql:mysql /var/lib/mysql/ # 出现以下报错说明没有写的权限(权限不足报错) 根本原因 ibdata1 文件权限不正确或文件系统只读,导致 MySQL 无法对其写入。常见原因有: 权限问题(最常见): ibdata1 文件及其所在目录的属主、属组 不属于 MySQL 运行账号(通常是 mysql)。 文件权限不足,mysql用户没有写入权限。 文件系统只读: 例如数据盘以只读方式挂载(可以通过 mount 查看)。 SELinux或AppArmor限制(部分系统)。 磁盘空间耗尽(较少见)。
-
-
启动
-
systemctl start mysqld # 启动无报错可输入 systemctl status mysqld 查看MySQL服务的状态 # 无报错可以在MySQL的日志文件中寻找生成的临时密码 grep 'temporary password' /var/log/mysqld.log# 使用临时密码登录 mysql -uroot -p# 登录后执行以下命令修改root用户密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword!';