centos7安装mysql步骤,问题汇总

一、检查系统是否安装过mysql

  1、检查系统是否安装过mysql,如果没有略过此步骤:如下图: 

  //检查系统中有无安装过mysql 
  [root@localhost tool]# rpm -qa | grep mysql 

  

  2、如果系统自带mysql,查询所有mysql 对应的文件夹,全部删除

  whereis mysql
  find / -name mysql

   

 

 

二、卸载CentOS7系统自带mariadb

  1、查看系统自带的Mariadb

  rpm -qa|grep mariadb

  2、卸载系统自带的Mariadb

  rpm -e --nodeps mariadb-libs-5.5.60-1.el7-5.x86_64

  3、删除etc目录下的my.cnf ,一定要删掉,等下再重新建,不删除导致后面改配置各种不生效

  rm /etc/my.cnf

  效果如下图所示:

  

  

 

 三、安装mysql

  1、wget 下载

  wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

 

     提示:wget不可用,请先安装wget命令

  yum -y install wget

     安装MySQL的另一种方式:tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /xz/,自行下载安装包解压,本文主要讲述yum的方式安装过程。

    2、下载完成后使用yum命令安装

  Yum -y install mysql-server

  3、安装失败,原因:密钥问题

  问题:失败的软件包是:mysql-community-server-5.7.38-1.el7.x86_64 ,GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    解决办法:

  rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

     再次执行 Yum -y install mysql-server  成功。

  4、启动mysql数据库

  systemctl start mysqld

 

  

 

四、MySQL配置

  1、修改登录免密码

  为了方便设置密码等权限操作,设置免登录的密码。

  vim /etc/my.conf
   [mysqld] 这个模块最后一行插入这一语句:skip-grant-tables

  如下图所示:

  

  重启MySQL

  systemctl restart mysqld

  

   2、设置密码参数,修改密码

  

  登录:mysql -u root -p

   修改MySQL密码策略:set global validate_password_policy=0; 
   更改密码长度:set global validate_password_length=6;
   设置秘密:set password for root@localhost=password('123456');
   刷新:flush privileges;
   注释掉修改登录免密码:vim /etc/my.conf  ,上面第一步添加的skip-grant-tables注释掉

  3、开启远程连接

    mysql登录状态下执行:

  GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

  4、开启3306、8080端口   

    退出mysql登录状态执行命令:

   firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --zone=public --add-port=8080/tcp --permanent

  防火墙重新载入:

   firewall-cmd --reload

  5、更改mysql的语言etc目录下的my.cnf文件下修改一下文件内容

  vim /etc/my.conf

  如下图所示:

             

 

  

   6、使用navicat连接数据库执行sql报错

     报错信息:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated

     打开my.conf配置文件,在[mysql]节点下添加如下内容:

  sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION

  如下图所示:

           

 

   重启MySQL:

  systemctl restart mysqld

  

 

posted @ 2022-07-25 18:44  Hanyancy  阅读(125)  评论(0编辑  收藏  举报