Linux之yum安装MySQL
Posted go&Python
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux之yum安装MySQL相关的知识,希望对你有一定的参考价值。
文章目录
Linux之yum安装mysql
部署MySQL数据库有多种部署方式,常用的部署方式就有三种:yum安装、rpm安装以及编译安装。每一种安装方式都有自己的优势,那么企业当中通常情况下采用的是rpm和二进制安装的方式。
Mysql 5.7的主要特性
-
更好的性能:对于多核CPU、固态硬盘、锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是吾等用户更关心的
-
更好的InnoDB存储引擎
-
更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库。此外,GTID在线平滑升级也变得可能
-
更好的优化器:优化器代码重构的意义将在这个版本及以后的版本中带来巨大的改进,Oracle官方正在解决MySQL之前最大的难题
-
原生JSON类型的支持
-
更好的地理信息服务支持:InnoDB原生支持地理位置类型,支持GeoJSON,GeoHash特性
-
新增sys库
yum部署方式
从CentOS 7.0发布以来,yum源中开始使用Mariadb来代替MySQL的安装(这里什么是mariadb,和mysql有什么区别,有兴趣的小伙伴可以自行查阅)。即使你输入的是yum install -y mysql , 显示的也是Mariadb的安装内容。如果想安装Mysql就必须使用Mysql官方的yum源。
1、编写yum源配置文件
#配置好yum源,包括epel源
1. curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
2. wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
3. yum -y install vim wget
-
使用官方yum仓库
wget https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm(复制下来的链接)
yum install mysql80-community-release-el7-4.noarch.rpm
2、生成yum源缓存
每次当我们编写了,都需要生成yum缓存,以免安装错误。
1. yum makecache
3、检查安装的yum源是否存在
1. yum repolist enabled | grep mysql
选择默认安装的版本 默认的是8.0 版本
安装 YUM 管理工具包,此包提供了 yum-config-manager 命令工具
1. yum -y install yum-utils
2. yum-config-manager --disable mysql80-community
3. yum-config-manager --enable mysql57-community
4. yum repolist enabled | grep mysql
4、安装MySQL服务
yum install -y mysql-community-server 然后等待安装即可
5、启动MySQL服务
启动mysqld 服务端
1. systemctl start mysqld
查看是否启动
2. systemctl status mysqld
6、初始化
MySQL服务器初始化(从MySQL 5.7开始)
在 MySQL 服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:
-
MySQL 服务器已初始化。
-
在数据目录中生成SSL证书和密钥文件。
-
安装并启用该 validate_password 插件。
-
将创建一个超级用户 帐户’root’@‘localhost’。并会设置超级用户的密码,将其存储在错误日志文件/var/log/mysqld.log中。
1. grep 'temporary password' /var/log/mysqld.log
7、尝试连接并修改默认密码
mysql -uroot -p'goUaahghs8?r'
# 出现以下错误的原因是需要修改初始化密码
1. show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
2. alter user root@localhost identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
#太过简单的密码会失败,因为不满足密码复杂度的要求
# 修改密码
1. alter user root@localhost identified by 'MySQL@666';
Query OK, 0 rows affected (0.00 sec)
# 刷新权限
2. FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
# 要设置比较简单的密码就需要取消密码复杂度,编辑 /etc/my.cnf配置文件, 在 [mysqld]配置块儿中添加如下内容(企业生成环境不建议使用这种配置)
plugin-load=validate_password.so
validate-password=OFF
8、远程连接
远程登录还需要授权远程登录
Mysql默认不允许远程登录,我们需要设置关闭selinux或者防火墙,不关防火墙就开放3306端口;
# 允许本地用户链接
1. grant all privileges on *.* to root@localhost identified by '密码';
Query OK, 0 rows affected, 1 warning (0.00 sec)
# 允许任意IP连接
2. grant all privileges on *.* to root@'%' identified by '密码';
Query OK, 0 rows affected, 1 warning (0.00 sec)
添加开放3306端口的iptables规则
iptables -t filter -I INPUT -p tcp --dport 3306 -j ACCEPT
卸载已经安装的MySQL
//rpm包安装方式卸载
查包名:rpm -qa|grep -i mysql
删除命令:rpm -e –nodeps 包名
//yum安装方式下载
1.查看已安装的mysql
命令:rpm -qa | grep -i mysql
2.卸载mysql
命令:yum remove mysql-community-server-5.6.36-2.el7.x86_64
查看mysql的其它依赖:rpm -qa | grep -i mysql
//卸载依赖
yum remove mysql-libs
yum remove mysql-server
yum remove perl-DBD-MySQL
yum remove mysql
下一篇>>>MySQL数据库基本管理
linux之MySQL安装
一、安装方式
安装方式采用yum
安装过程
下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。
yum -y install mysql57-community-release-el7-10.noarch.rpm
#官网命令
sudo rpm -Uvh mysql57-community-release-el7-10.noarch.rpm
查看mysql子存储库(官网安装步骤之一)
yum repolist all | grep mysql
开启和禁用配置(官网安装步骤之一)
sudo yum-config-manager --disable mysql80-community sudo yum-config-manager --enable mysql57-community
查看mysql可用的子存储库(官网安装步骤之一)
yum repolist enabled | grep mysql
mysql开始安装(此过程比较长久,中间还可能失败,需要多次执行这个命令)
sudo yum install mysql-community-server
启动mysql
sudo systemctl start mysqld.service
查看msyql状态
sudo systemctl status mysqld.service
查看临时密码
sudo grep \'temporary password\' /var/log/mysqld.log
登录命令(密码为标红字符串)
mysql -uroot -p
重新设置登录密码(密码设置太简单会提示你没法通过)
ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'MyNewPass4!\';
允许远程连接mysql
grant all on *.* to root@\'%\' identified by \'root\';
此步可能出现问题:
set global validate_password_policy=0;
set global validate_password_length=1;
再次执行
grant all on *.* to root@\'%\' identified by \'root\';
因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:
yum -y remove mysql57-community-release-el7-10.noarch.rpm
参照博客:https://blog.csdn.net/H_Ystar/article/details/98470678
Linux下MySQL忘记root密码的完美解决方法
1、用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf 或者 nano /etc/my.cnf
2.在[mysqld]下添加skip-grant-tables,然后保存并退出
3.重启mysql服务:service mysqld restart
二、更改root用户名
1、重启以后,执行mysql命令进入mysql命令行 mysql -uroot -p ,不用输入密码
2、修改root用户密码
MySQL> UPDATE mysql.user SET Password=PASSWORD(\'新密码\') where USER=\'root\';
MySQL> flush privileges;
MySQL> exit
3、最后把/etc/my.cnf中的skip-grant-tables注释掉,然后重启mysql,即:service mysqld restart
OK,下面我们就可以使用root新的密码登录MySQL了。
mysql -u root -p
输入新密码
以上是关于Linux之yum安装MySQL的主要内容,如果未能解决你的问题,请参考以下文章