CentOS 7 下使用yum安装MySQL5.7.20 最简单方法

时间:2022-06-12 04:26:11

CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默认好像是没有mysql的。

上一篇安装的是5.6的但是我想安装5.7的  yum安装是最简单的 尝试过编译安装各种问题,最后就决定用yum。

(经过一段时间的学习又写了一篇用源码安装mysql5.7.22的 点击打开链接)

1.卸载  先停掉mysql进程   没有安装过的可以直接跳过

 pkill -9 mysqld  
  rpm -qa|grep -i mysql 
      

      用命令 yum -y remove

  yum -y remove mysql-community-client-5.6.38-2.el7.x86_64

      卸载不掉的用 rpm -ev

      依次卸载 直到没有

2.下载mysql的repo源 这个安装的mysql5.7.20  /**纠正一下,这源下载的是最新的版本  ****/

 [root@localhost ~]# cd /usr/local/src/
 [root@localhost src]# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
 [root@localhost src]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm
 [root@localhost src]# yum -y install mysql-server

(也可以指定安装目录     yum --installroot=/usr/local/mysql --releasever=/ -y install mysql-server  )我没试,这样装环境变量配置都不用你管,装上直接启动就行。安装路径是默认的。

       一路 y 

根据步骤安装就可以了,

默认配置文件路径: 
配置文件:/etc/my.cnf 
日志文件:/var/log/var/log/mysqld.log 
服务启动脚本:/usr/lib/systemd/system/mysqld.service 
 socket文件:/var/run/mysqld/mysqld.pid 

  配置  my.cnf        vim /etc/my.cnf

[mysqld]
 #
 # Remove leading # and set to the amount of RAM for the most important data
 # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
 # innodb_buffer_pool_size = 128M
 #
 # Remove leading # to turn on a very important data integrity option: logging
 # changes to the binary log between backups.
 # log_bin
 #
 # Remove leading # to set options mainly useful for reporting servers.
 # The server defaults are faster for transactions and fast SELECTs.
 # Adjust sizes as needed, experiment to find the optimal values.
 # join_buffer_size = 128M
 # sort_buffer_size = 2M
 # read_rnd_buffer_size = 2M
 datadir=/var/lib/mysql
 socket=/var/lib/mysql/mysql.sock
 server_id = 1
 expire_logs_days = 3
 # Disabling symbolic-links is recommended to prevent assorted security risks
 symbolic-links=0
 log-error=/var/log/mysqld.log
 pid-file=/var/run/mysqld/mysqld.pid

不过安装完成后,密码为随机密码,需要重置密码。

 4.  启动mysql服务

service mysqld restart

 重置密码

 [root@localhost ~]# grep "password" /var/log/mysqld.log 

    可以看到  输入 mysql -u root -p   密码 进入      第一次登陆 ,需要重置密码 要不什么也不能操作      

       接下来重置密码:5.7.20 为了安全密码           必须包含 数字字母符号

      踩过的坑啊,设置了好几次。还有这ip不能是% 不知道为什么  反正第一次设置成%没成功  登上去之后再改就可以改了。

       把密码改简单的方法 http://www.zzvips.com/article/2828.html

alter user 'root'@'localhost' identified by 'Root!!2018'; 

     最后记得刷新权限;

     flush privileges

    也可以 直接再添加新用户    

 CREATE USER ‘root‘@‘%‘ IDENTIFIED BY ‘您的密码‘;

 grant all on *.* to 'root001'@'%' identified by 'Root@@' with grant option;

   增加root用户指定可以任意IP登录,如果想限制只能让指定IP登录请把%替换成IP地址

   问题:如果发现找不到密码!!!!!

   解决:只能通过忘记密码的方式修改密码!!! 在安装的过程中发现找不到密码???折腾了好长时间 通过修改密码找回之后发现、原来之前安装的数据库在了,就没有生产新的数据库!!用的还是之前的配置。

2.看mysql启动了没?初始化数据库了没?  一般直接启动 数据库 就可以 用grep "password" /var/log/mysqld.log    看到随机密码了

修改MySQL的登录设置:

#vi /etc/my.cnf

在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi。

重新启动mysqld

重新启动mysqld
 #/etc/init.d/mysqld restart ( service mysqld restart )
 use mysql 
 update user set password=password("12345") where user="root";
 mysql 5.7的数据库没有了password字段 用的是authentication_string字段
mysql> update mysql.user set authentication_string=password('root') where user='root' ;
 flush privileges;

修改密码之后在改回来。

总结

以上所述是小编给大家介绍的CentOS 7 下使用yum安装MySQL5.7.20 最简单方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!