ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Centos 7 安装MySQL8

2022-01-03 12:59:53  阅读:266  来源: 互联网

标签:8.0 27 Centos MySQL8 安装 mysqld rpm mysql root


Centos 7 安装MySQL8

一.下载软件

地址:https://dev.mysql.com/downloads/mysql/

在这里插入图片描述

二.解压

tar -xvf mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar 

解压后的文件有

[root@CentOSA mysql]# ll
总用量 1635440
-rw-r--r--. 1 root root  837345280 1月   2 22:50 mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar
-rw-r--r--. 1 7155 31415  55178328 9月  29 15:33 mysql-community-client-8.0.27-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   5932800 9月  29 15:34 mysql-community-client-plugins-8.0.27-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415    641616 9月  29 15:34 mysql-community-common-8.0.27-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   7760100 9月  29 15:34 mysql-community-devel-8.0.27-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415  23637616 9月  29 15:34 mysql-community-embedded-compat-8.0.27-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   4935900 9月  29 15:34 mysql-community-libs-8.0.27-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   1264256 9月  29 15:34 mysql-community-libs-compat-8.0.27-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 470252428 9月  29 15:36 mysql-community-server-8.0.27-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 267724484 9月  29 15:38 mysql-community-test-8.0.27-1.el7.x86_64.rpm

三.安装

先查看一下是否已经安装了,命令:rpm -qa|grep mariadb

[root@CentOSA ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@CentOSA ~]# rpm -e --nodeps mariadb-libs

然后再安装 。先看看我的安装日志,对安装的顺序还是有一定的要求的,如果报错,根据报错信息调整安装包的次序

// 下面是必须安装的
[root@CentOSA mysql]# rpm -ivh mysql-community-common-8.0.27-1.el7.x86_64.rpm   //第一个
警告:mysql-community-common-8.0.27-1.el7.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-common-8.0.27-1.e################################# [100%]
[root@CentOSA mysql]# rpm -ivh mysql-community-libs-8.0.27-1.el7.x86_64.rpm   //报错  需要先安装 mysql-community-client-plugins
警告:mysql-community-libs-8.0.27-1.el7.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
	mysql-community-client-plugins = 8.0.27-1.el7 被 mysql-community-libs-8.0.27-1.el7.x86_64 需要
	
[root@CentOSA mysql]# rpm -ivh mysql-community-client-plugins-8.0.27-1.el7.x86_64.rpm  //第二个
警告:mysql-community-client-plugins-8.0.27-1.el7.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-client-plugins-8.################################# [100%]
   
[root@CentOSA mysql]# rpm -ivh mysql-community-libs-8.0.27-1.el7.x86_64.rpm  //第三个
警告:mysql-community-libs-8.0.27-1.el7.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-libs-8.0.27-1.el7################################# [100%]
[root@CentOSA mysql]# rpm -ivh mysql-community-client-8.0.27-1.el7.x86_64.rpm    //第四个
警告:mysql-community-client-8.0.27-1.el7.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-client-8.0.27-1.e################################# [100%]
[root@CentOSA mysql]# rpm -ivh mysql-community-server-8.0.27-1.el7.x86_64.rpm    //第五个
警告:mysql-community-server-8.0.27-1.el7.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-server-8.0.27-1.e################################# [100%]
   

其余几个包可以根据需求自行安装

四.启动

查询状态

[root@CentOSA mysql]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html

启动

[root@CentOSA mysql]# systemctl start mysqld  //报错
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -
xe" for details.

排错

//查询状态
[root@CentOSA mysql]# systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 日 2022-01-02 23:13:24 CST; 1min 30s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 10303 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS (code=exited, status=1/FAILURE)
  Process: 10278 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 10303 (code=exited, status=1/FAILURE)
   Status: "Server startup in progress"
    Error: 13 (权限不够)

//查看配置文件 里面的错误日志位置
[root@CentOSA ~]# less /var/log/mysqld.log
2022-01-02T15:13:09.566926Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-01-02T15:13:10.315470Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-01-02T15:13:11.310375Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
2022-01-02T15:13:11.310585Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
2022-01-02T15:13:11.351949Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: /?gWV)zT0v*,
2022-01-02T15:13:23.815821Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.27) starting as process 10303
2022-01-02T15:13:23.981996Z 0 [Warning] [MY-010075] [Server] No existing UUID has been found, so we assume that this is the first time th
at this server has been started. Generating a new UUID: 8760b352-6bde-11ec-b55e-000c2957646d.mysqld: File '/var/lib/mysql/auto.cnf' not found (OS errno 13 - Permission denied)  //关键信息
2022-01-02T15:13:23.984477Z 0 [ERROR] [MY-010183] [Server] Failed to create file(file: '/var/lib/mysql/auto.cnf', errno 13)
2022-01-02T15:13:23.984491Z 0 [ERROR] [MY-010076] [Server] Initialization of the server's UUID failed because it could not be read from t
he auto.cnf file. If this is a new server, the initialization failed because it was not possible to generate a new UUID.2022-01-02T15:13:23.984652Z 0 [ERROR] [MY-010119] [Server] Aborting
2022-01-02T15:13:23.985952Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.27)  MySQL Community Server -
 GPL.2022-01-02T15:22:33.438002Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.27) starting as process 10401
2022-01-02T15:22:33.614273Z 0 [Warning] [MY-000054] [Server] World-writable config file '/var/lib/mysql/auto.cnf' is ignored.
2022-01-02T15:22:33.614701Z 0 [Warning] [MY-010107] [Server] World-writable config file '/var/lib/mysql/auto.cnf' has been removed.
2022-01-02T15:22:33.626367Z 0 [Warning] [MY-010075] [Server] No existing UUID has been found, so we assume that this is the first time th
at this server has been started. Generating a new UUID: cefdc6e3-6bdf-11ec-b9b9-000c2957646d.2022-01-02T15:22:33.683083Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-01-02T15:22:34.462945Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-01-02T15:22:35.047838Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
2022-01-02T15:22:35.047947Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
2022-01-02T15:22:35.051540Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2022-01-02T15:22:35.051664Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now s
upported for this channel.2022-01-02T15:22:35.090664Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.27'  socket: '/var/lib
/mysql/mysql.sock'  port: 3306  MySQL Community Server - GPL.2022-01-02T15:22:35.091684Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/
run/mysqld/mysqlx.sock/var/log/mysqld.log (END)


//直接找到这个文件夹 授权即可
[root@CentOSA ~]# cd /var/lib/mysql
[root@CentOSA mysql]# ls
auto.cnf      ca.pem           #ib_16384_0.dblwr  ibdata1      #innodb_temp  performance_schema  server-cert.pem  undo_001
binlog.index  client-cert.pem  #ib_16384_1.dblwr  ib_logfile0  mysql         private_key.pem     server-key.pem   undo_002
ca-key.pem    client-key.pem   ib_buffer_pool     ib_logfile1  mysql.ibd     public_key.pem      sys
//粗暴授权 当然可以根据要求来授权
[root@CentOSA mysql]# chmod -R 777 auto.cnf

启动

[root@CentOSA mysql]# systemctl start mysqld
[root@CentOSA 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 日 2022-01-02 23:22:35 CST; 4s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 10377 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 10401 (mysqld)
   Status: "Server is operational"
   CGroup: /system.slice/mysqld.service
           └─10401 /usr/sbin/mysqld

1月 02 23:22:32 CentOSA systemd[1]: Starting MySQL Server...
1月 02 23:22:35 CentOSA systemd[1]: Started MySQL Server.

安装成功!!

进入mysql

[root@CentOSA ~]# mysql -u root   //进不去
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

//修改配置文件  最后添加  skip-grant-tables
vi /etc/my.cnf

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
skip-grant-tables

//重启 可以
[root@CentOSA my.cnf.d]# systemctl stop  mysqld
[root@CentOSA my.cnf.d]# systemctl start mysqld


//进入
[root@CentOSA my.cnf.d]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.27 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 



修改密码

mysql> use mysql;                                           
mysql> update user set authentication_string='' where user='root';               ## 将密码设置为空(必须在mysql库设置)
mysql> exit
[root@xiaoyaoji ~]# vi /etc/my.cnf                                               ##删除skip那一行
[root@xiaoyaoji ~]# systemctl restart mysqld  // 重启服务
[root@xiaoyaoji ~]# mysql -uroot -p
Enter password:     ##直接回车
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';    ##设置密码
mysql> exit

授权

[root@xiaoyaoji ~]# mysql -uroot -proot                                 
在mysql8.0中 授权语句已经更换,使用之前的sql语句授权会报错;
mysql> create user 'root'@'%' identified by 'Root@123';                           ##创建可以所有用户都可以访问的用户规则
mysql> grant all privileges on *.* to 'root'@'%';                                 ##对这个用户规则进行授权
mysql> flush privileges;                                                          ##刷新权限
mysql> exit

使用工具就可以连接了

标签:8.0,27,Centos,MySQL8,安装,mysqld,rpm,mysql,root
来源: https://blog.csdn.net/weixin_44244088/article/details/122286105

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有