知识点:
- yum源
Yum源
Yum是Redhat、CentOS中的软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
说到yum源就必须说到linux系统中特有的依赖关系问题,yum就是为了解决依赖关系而存在的。yum源就相当是一个目录项,当我们使用yum机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。
YUM是“Yellow dog Updater, Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题。
YUM的基本工作机制如下:
服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。
步骤:
1、替换Yum源
1)yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo mirrors.163.com/.help/CentOS7-Base-163.repo
2)更新缓存
yum clean all
yum makecache
2、安装MySQL
1)下载rpm文件
yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
2)安装MySQL
yum install mysql-community-server -y
3、启动MySQL
1)启动数据库
service mysql start
2)查看密码
grep 'temporary password' /var/log/mysqld.log
3)登录
mysql -u root -p
注意:启动数据库时,报错:Uint can't to found,需要找到mysql文件,放置/etc/init.d/下,才可以使用service mysql start启动mysql
4、修改密码
alter user user() identified by '123456';
注意:在修改密码时,报错:Your password dees not satisfy the current policy requirements,触发了密码策略,所以需要修改密码策略,输入:“show variables like 'validate_password%'; ”,修改单项策略:“set global validate_password.length=6;”等等(Mysql 8)
5、允许远程使用root账户
update user set host='%' where user='root'; flush privileges;
注意:如果直接在mysql中键入,报错:No database selected,所以需要输入“use mysql”,如果没有这一步,Navicat连接MySQL时,会报2059错误
6、修改/etc/my.cnf文件
character_set_server = utf8 bind-address=0.0.0.0
7、重新启动
service mysqld restart
8、系统防火墙开放3360端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
9、使用Navicat连接Mysql
连接过程中出现报错:2059,查询后是由于mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password.
所以需要修改密码,会报密码不符合密码策略,参照4
注意:刚开始我输入"alter user 'root'@'localhost...",直接报错,
mysql> use mysql ; mysql> select user,host from user ;
列示出root帐户对应的host与其它不同,所以需要更改为"alter user 'root'@'%'...",更改后就可以成功连接MySQL了
注:隔天连接Mysql,又出现报错:1045,哎,真的是老出问题
1)修改 /etc/my.cnf 文件
2)[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
3)user mysql;重置密码
不好意思,突然想起密码昨天修改了,是我记错了,尴尬,没有表情可言,哈哈哈……
在 /etc/my.cnf 注释了#skip-grant-tables后,Navicat连接Mysql报错:2003
授权时,才发现由于skip-grant-tables的问题,删掉后,就可以连接Navicat了