Centos8 安装mysql

297 阅读2分钟

先检查是否已经装了mysql

rpm -qa | grep mysql

#如果装了会有数据,执行下面清楚即可:
yum  remove  XXX(包名)

#然后查找是否有剩余文件夹

find / -name mysql

#是否安装:
rpm -pa | grep mariadb

如果有安装的话使用如下命令移除:
rpm -e XXX

#或者
rpm -e --nodeps xxx  //强制删除

开始安装mysql

# 默认最新的msql

yum install mysql-server

#最后提示:                                                                     
Installed:
  mysql-community-server-8.0.28-1.el8.x86_64                             perl-IO-Socket-IP-0.39-5.el8.noarch                         perl-IO-Socket-SSL-2.066-4.module_el8.3.0+410+ff426aa3.noarch
  perl-Mozilla-CA-20160104-7.module_el8.3.0+416+dee7bcef.noarch          perl-Digest-1.17-395.el8.noarch                             perl-Digest-MD5-2.55-396.el8.x86_64
  perl-Net-SSLeay-1.88-1.module_el8.3.0+410+ff426aa3.x86_64              perl-URI-1.73-3.el8.noarch                                  perl-libnet-3.11-3.el8.noarch
  perl-Carp-1.42-396.el8.noarch                                          perl-Data-Dumper-2.167-399.el8.x86_64                       perl-Encode-4:2.97-3.el8.x86_64
  perl-Errno-1.28-420.el8.x86_64                                         perl-Exporter-5.72-396.el8.noarch                           perl-File-Path-2.15-2.el8.noarch
  perl-File-Temp-0.230.600-1.el8.noarch                                  perl-Getopt-Long-1:2.50-4.el8.noarch                        perl-HTTP-Tiny-0.074-1.el8.noarch
  perl-IO-1.38-420.el8.x86_64                                            perl-MIME-Base64-3.15-396.el8.x86_64                        perl-PathTools-3.74-1.el8.x86_64
  perl-Pod-Escapes-1:1.07-395.el8.noarch                                 perl-Pod-Perldoc-3.28-396.el8.noarch                        perl-Pod-Simple-1:3.35-395.el8.noarch
  perl-Pod-Usage-4:1.69-395.el8.noarch                                   perl-Scalar-List-Utils-3:1.49-2.el8.x86_64                  perl-Socket-4:2.027-3.el8.x86_64
  perl-Storable-1:3.11-3.el8.x86_64                                      perl-Term-ANSIColor-4.06-396.el8.noarch                     perl-Term-Cap-1.17-395.el8.noarch
  perl-Text-ParseWords-3.30-395.el8.noarch                               perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch                perl-Time-Local-1:1.280-1.el8.noarch
  perl-Unicode-Normalize-1.25-396.el8.x86_64                             perl-constant-1.33-396.el8.noarch                           perl-interpreter-4:5.26.3-420.el8.x86_64
  perl-libs-4:5.26.3-420.el8.x86_64                                      perl-macros-4:5.26.3-420.el8.x86_64                         perl-parent-1:0.237-1.el8.noarch
  perl-podlators-4.11-1.el8.noarch                                       perl-threads-1:2.21-2.el8.x86_64                            perl-threads-shared-1.58-2.el8.x86_64
  mysql-community-client-8.0.28-1.el8.x86_64                             mysql-community-client-plugins-8.0.28-1.el8.x86_64          mysql-community-common-8.0.28-1.el8.x86_64
  mysql-community-icu-data-files-8.0.28-1.el8.x86_64                     mysql-community-libs-8.0.28-1.el8.x86_64

Complete!

#看到Complete!即为安装成功

看一下是否设为开机自启

systemctl list-unit-files|grep mysqld

设为开机自启

systemctl enable mysqld.service

运行mysql

systemctl start mysqld.service

查看mysql状态

systemctl status mysqld.service

 mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2022-01-24 16:11:18 CST; 2s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 30873 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 30951 (mysqld)
   Status: "Server is operational"
    Tasks: 38 (limit: 23871)
   Memory: 511.7M
   CGroup: /system.slice/mysqld.service
           └─30951 /usr/sbin/mysqld
           
  看到 Active: active (running) 状态即为启动完毕,显示时会绿色标记running

查看默认密码

软件安装好之后,会在错误日志中生成一个超级用户的初始密码,用下面的命令可以查看这个初始密码

sudo grep 'temporary password' /var/log/mysqld.log
2022-01-24T08:11:16.233256Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: oXq:smo90tyU

修改mysql默认密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPassword!';
Query OK, 0 rows affected (0.06 sec) 

注意:MySQL对密码复杂度有一定的要求(新版本允许修改规则),默认密码规则如下:

  1. 长度不得小于8位
  2. 必须包含至少一个数字,一个小写字母,一个大写字母和一个特殊字符

修改远程权限

mysql> use mysql;
mysql> update user set host="%" where user='root';
mysql> GRANT ALL ON *.* TO 'root'@'%';
mysql> flush privileges;

重启mysql

systemctl restart mysqld.service