Linux下的 Mysql 8.0 yum 安装 并修改密码

Posted junmuc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下的 Mysql 8.0 yum 安装 并修改密码相关的知识,希望对你有一定的参考价值。

 

1.MySQL版本:

mysql> select @@version;
+-----------+
| @@version |
+-----------+
| 8.0.18 |
+-----------+
1 row in set (0.00 sec)

2.Centos操作系统版本

[root@Hadoop-00 /]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)    

二、Mysql现在以及解压

1. 地址:https://downloads.mysql.com/archives/community/

技术图片

 

 

 2.linux中下载

技术图片

 

 

 

1.在命令中输入这个语句,获取 mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar:

wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar

2.解压:

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

-rw-r--r-- 1 root root 684851200 9月 23 15:36 mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar
-rw-r--r-- 1 7155 31415 40104640 9月 23 15:19 mysql-community-client-8.0.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 611436 9月 23 15:20 mysql-community-common-8.0.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 6915400 9月 23 15:20 mysql-community-devel-8.0.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 23683600 9月 23 15:20 mysql-community-embedded-compat-8.0.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 3877664 9月 23 15:20 mysql-community-libs-8.0.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 1363968 9月 23 15:20 mysql-community-libs-compat-8.0.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 450282440 9月 23 15:21 mysql-community-server-8.0.18-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 158001648 9月 23 15:22 mysql-community-test-8.0.18-1.el7.x86_64.rpm

技术图片

 

 

 

三、安装

1. 卸载系统自带的mariadb-lib

查看mariadb版本
rpm -qa|grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64

卸载mariadb
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

2.安装依赖环境

yum install -y openssl-devel.x86_64 openssl.x86_64 
yum install -y libaio.x86_64 libaio-devel.x86_64 
yum install -y perl.x86_64 perl-devel.x86_64 
yum install -y perl-JSON.noarch 
yum install -y autoconf 
yum install -y wget
yum install -y net-tools

 

 

3.关闭防火墙

 

systemctl stop firewalld.service
systemctl disable firewalld.service

 

 

4.禁用selinux

vi /etc/selinux/config
SELINUX=enforcing改为SELINUX=disabled
reboot 重启机器

5.安装

/**

必须按顺序装,防止出现未知的问题

*/

rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm

--------------------------------------------------------------------------------

rpm -ivh mysql-community-libs-compat-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-test-8.0.18-1.el7.x86_64.rpm

--初始化数据库
mysqld --initialize --console
--目录授权,否则启动失败
chown -R mysql:mysql /var/lib/mysql/
--启动服务
systemctl start mysqld

 

6.登陆密码设置

//报错
ERROR 2003 (HY000): Cant connect to MySQL server on localhost (111)  
1)更改配置,此处可以跳过密码设置
vi /etc/my.cnf
#在mysqld模块下添加
skip-grant-tables
// password 函数在MySQL8中位置,以下步骤未实现

2)重启服务:
systemctl restart mysqld
3) 按照传统改密码方式发现没有 password这个字段。
mysql> update user set password=password(‘123‘) where user=‘root‘;
ERROR 1054 (42S22): Unknown column ‘password‘ in ‘field list‘

网上查了一下据说5.7 版本password 字段改成authentication_string  password函数未知

mysql> update user set authentication_string=password(‘123‘) where user=‘root‘;
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

user 表的管理字段


+
--------------------------+-----------------------------------+------+-----+-----------------------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+-----------------------------------+------+-----+-----------------------+-------+ | Host | char(255) | NO | PRI | | | | User | char(32) | NO | PRI | | | | Select_priv | enum(N,Y) | NO | | N | | | Insert_priv | enum(N,Y) | NO | | N | | | Update_priv | enum(N,Y) | NO | | N | | | Delete_priv | enum(N,Y) | NO | | N | | | Create_priv | enum(N,Y) | NO | | N | | | Drop_priv | enum(N,Y) | NO | | N | | | Reload_priv | enum(N,Y) | NO | | N | | | Shutdown_priv | enum(N,Y) | NO | | N | | | Process_priv | enum(N,Y) | NO | | N | | | File_priv | enum(N,Y) | NO | | N | | | Grant_priv | enum(N,Y) | NO | | N | | | References_priv | enum(N,Y) | NO | | N | | | Index_priv | enum(N,Y) | NO | | N | | | Alter_priv | enum(N,Y) | NO | | N | | | Show_db_priv | enum(N,Y) | NO | | N | | | Super_priv | enum(N,Y) | NO | | N | | | Create_tmp_table_priv | enum(N,Y) | NO | | N | | | Lock_tables_priv | enum(N,Y) | NO | | N | | | Execute_priv | enum(N,Y) | NO | | N | | | Repl_slave_priv | enum(N,Y) | NO | | N | | | Repl_client_priv | enum(N,Y) | NO | | N | | | Create_view_priv | enum(N,Y) | NO | | N | | | Show_view_priv | enum(N,Y) | NO | | N | | | Create_routine_priv | enum(N,Y) | NO | | N | | | Alter_routine_priv | enum(N,Y) | NO | | N | | | Create_user_priv | enum(N,Y) | NO | | N | | | Event_priv | enum(N,Y) | NO | | N | | | Trigger_priv | enum(N,Y) | NO | | N | | | Create_tablespace_priv | enum(N,Y) | NO | | N | | | ssl_type | enum(‘‘,ANY,X509,SPECIFIED) | NO | | | | | ssl_cipher | blob | NO | | NULL | | | x509_issuer | blob | NO | | NULL | | | x509_subject | blob | NO | | NULL | | | max_questions | int(11) unsigned | NO | | 0 | | | max_updates | int(11) unsigned | NO | | 0 | | | max_connections | int(11) unsigned | NO | | 0 | | | max_user_connections | int(11) unsigned | NO | | 0 | | | plugin | char(64) | NO | | caching_sha2_password | | | authentication_string | text | YES | | NULL | | | password_expired | enum(N,Y) | NO | | N | | | password_last_changed | timestamp | YES | | NULL | | | password_lifetime | smallint(5) unsigned | YES | | NULL | | | account_locked | enum(N,Y) | NO | | N | | | Create_role_priv | enum(N,Y) | NO | | N | | | Drop_role_priv | enum(N,Y) | NO | | N | | | Password_reuse_history | smallint(5) unsigned | YES | | NULL | | | Password_reuse_time | smallint(5) unsigned | YES | | NULL | | | Password_require_current | enum(N,Y) | YES | | NULL | | | User_attributes | json | YES | | NULL | | +--------------------------+-----------------------------------+------+-----+-----------------------+-------+ 51 rows in set (0.01 sec)

 4.更改配置重启

 

[root@master1 ~]# vi /etc/my.cnf
注释 # skip-grant-tables [root@master1 ~]# systemctl restart mysqld [root@master1 ~]# mysql -uroot -p123
5.成功:

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 10
Server version: 8.0.18 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

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>

 

 

 

 

7.其他

[root@Hadoop-00 log]# service mysqld start
Redirecting to /bin/systemctl start  mysqld.service
[root@Hadoop-00 log]# service mysqld status
Redirecting to /bin/systemctl status  mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 二 2020-02-25 19:09:37 CST; 2s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 3282 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 3306 (mysqld)
   Status: "Server is operational"
   CGroup: /system.slice/mysqld.service
           └─3306 /usr/sbin/mysqld

2月 25 19:09:35 Hadoop-00 systemd[1]: Starting MySQL Server...
2月 25 19:09:37 Hadoop-00 systemd[1]: Started MySQL Server.

 

2. 如果安装过程出现操作失误问题,卸载MySQL重新开始

yum remove  mysql-community-client.x86_64                                      
yum remove  mysql-community-common.x86_64                                       
yum remove  mysql-community-devel.x86_64                                        
yum remove  mysql-community-embedded-compat.x86_64                              
yum remove  mysql-community-libs.x86_64                                         
yum remove  mysql-community-libs-compat.x86_64                                  
yum remove  mysql-community-server.x86_64                                       
yum remove  mysql-community-test.x86_64                                         
yum remove  mysql57-community-release.noarch     
------------------------------------------------------------------------
rm -rf /etc/rc.d/init.d/mysql
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /usr/share/mysql
rm -rf /opt/mysql
rm -rf /opt/mysql/mysql-5.7.25/bin/mysql
rm -rf /opt/mysql/mysql-5.7.25/include/mysql
rm -rf /opt/mysql/mysql-5.7.25/data/mysq

参见原文链接:

https://blog.csdn.net/qq_31708763/article/details/86485398

 

安装参考原文:

https://www.cnblogs.com/zyongzhi/p/10063149.html

 

以上是关于Linux下的 Mysql 8.0 yum 安装 并修改密码的主要内容,如果未能解决你的问题,请参考以下文章

YUM安装MySQL 8.0

安装MYSQL 8.0

yum安装mysql 8.0

yum安装mysql 8.0

Linux系统下 MySQL 安装 指南(5.7和8.0 版本)

MySQL 8.0安装