CentOS7安装Mysql 5.7.40

Mysql 5.7.40安装(rpm安装)

MySQL是一个典型的关系数据库,目前是Oracle公司产品之一,也是目前主流使用的关系型数据库之一。使用MySQL可以进行最基本的数据存储、管理、查询等操作,也可以方便的组建数据库集群,配置读写分离。

默认端口号:3306

1、下载安装包

下载地址:https://www.mysql.com/

2、MySQL安装

查询卸载冲突软件

[root@192 mysql]#  rpm -qa |grep mysql                  #查询系统中是否安装过旧版本mysql
akonadi-mysql-1.9.2-4.el7.x86_64
qt-mysql-4.8.5-13.el7.x86_64
[root@192 mysql]#  rpm -qa |grep mariadb				 #Centos7默认安装 mariadb ,为防止和MySQL冲突,需要先卸载。
mariadb-libs-5.5.56-2.el7.x86_64
mariadb-server-5.5.56-2.el7.x86_64
mariadb-5.5.56-2.el7.x86_64
[root@192 mysql]#  rpm -e --nodeps akonadi-mysql        #卸载mysql
[root@192 mysql]#  rpm -e --nodeps qt-mysql
[root@192 mysql]#  rpm -qa |grep mysql
[root@192 mysql]#  rpm -e --nodeps mariadb              #卸载mariadb
[root@192 mysql]#  rpm -e --nodeps mariadb-libs
[root@192 mysql]#  rpm -e --nodeps mariadb-server
[root@192 mysql]#  rpm -qa |grep mariadb

安装插件

#在线安装
[root@192 mysql]#  yum install autoconf
已加载插件:fastestmirror, langpacks
base                                                                                                              | 3.6 kB  00:00:00
docker-ce-stable                                                                                                  | 3.5 kB  00:00:00
extras                                                                                                            | 2.9 kB  00:00:00
updates                                                                                                          | 2.9 kB  00:00:00
Loading mirror speeds from cached hostfile
 * base: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.bfsu.edu.cn
软件包 autoconf-2.69-11.el7.noarch 已安装并且是最新版本
无须任何处理

#离线安装
仅需要安装perl-Data-Dumper即可

MySQL rpm安装有依赖关系,所以需要顺序安装

解压安装包

[root@192 mysql]#  tar -xvf mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar    
mysql-community-client-5.7.40-1.el7.x86_64.rpm
mysql-community-common-5.7.40-1.el7.x86_64.rpm
mysql-community-devel-5.7.40-1.el7.x86_64.rpm
mysql-community-embedded-5.7.40-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.40-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.40-1.el7.x86_64.rpm
mysql-community-libs-5.7.40-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.40-1.el7.x86_64.rpm
mysql-community-server-5.7.40-1.el7.x86_64.rpm
mysql-community-test-5.7.40-1.el7.x86_64.rpm

安装顺序不能乱(依次安装下面5个安装包即可,其他不需要安装)

mysql-community-common-5.7.40-1.el7.x86_64.rpm
mysql-community-libs-5.7.40-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.40-1.el7.x86_64.rpm
mysql-community-client-5.7.40-1.el7.x86_64.rpm
mysql-community-server-5.7.40-1.el7.x86_64.rpm

安装过程

[root@192 mysql]# rpm -ivh mysql-community-common-5.7.40-1.el7.x86_64.rpm
警告:mysql-community-common-5.7.40-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-common-5.7.40-1.e################################# [100%]
[root@192 mysql]# rpm -ivh mysql-community-libs-5.7.40-1.el7.x86_64.rpm
警告:mysql-community-libs-5.7.40-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-libs-5.7.40-1.el7################################# [100%]
[root@192 mysql]# rpm -ivh mysql-community-libs-compat-5.7.40-1.el7.x86_64.rpm
警告:mysql-community-libs-compat-5.7.40-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-libs-compat-5.7.4################################# [100%]
[root@192 mysql]# rpm -ivh mysql-community-client-5.7.40-1.el7.x86_64.rpm
警告:mysql-community-client-5.7.40-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-client-5.7.40-1.e################################# [100%]
[root@192 mysql]# rpm -ivh mysql-community-server-5.7.40-1.el7.x86_64.rpm
警告:mysql-community-server-5.7.40-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-server-5.7.40-1.e################################# [100%]

3、启动、连接

启动MySQL

MySQL刚安装是没有密码的,需要初始化一个临时密码,再去修改。

[root@192 mysql]# mysqld --initialize --console      #初始化mysql

查看临时密码

[root@192 mysql]# grep 'temporary password' /var/log/mysqld.log
2023-04-15T11:53:23.768042Z 1 [Note] A temporary password is generated for root@localhost: liud!_bkr69T

更改 /var/lib/mysql 目录权限

[root@192 mysql]# chown -R mysql:mysql /var/lib/mysql

启动、关闭

[root@192 lib]# systemctl enable mysqld       #设置开机启动
[root@192 lib]# systemctl start mysqld        #启动mysql
[root@192 lib]# systemctl stop mysqld         #关闭mysql
[root@192 lib]# systemctl restart mysqld      #重启mysql

查看mysql状态

[root@192 lib]# systemctl status mysqld      #查看mysql状态
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 六 2023-04-15 20:03:58 CST; 2min 25s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 6228 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (                              code=exited, status=0/SUCCESS)
  Process: 6204 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 6231 (mysqld)
   Memory: 207.2M
   CGroup: /system.slice/mysqld.service
           └─6231 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

4月 15 20:03:53 192.168.2.15 systemd[1]: Starting MySQL Server...
4月 15 20:03:58 192.168.2.15 systemd[1]: Started MySQL Server.

连接MySQL

[root@192 lib]# mysql -uroot -p                      #连接MySQL数据库命令
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.40

Copyright (c) 2000, 2022, 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> set password = password('admin@123');          #修改MySQL root用户密码
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> select user,host,authentication_string from mysql.user;              #查询user表
+---------------+-----------+-------------------------------------------+
| user          | host      | authentication_string                     |
+---------------+-----------+-------------------------------------------+
| root          | localhost | *89FA6EAF8B6264AC8D6E84759027252505A3EAEE |
| mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| mysql.sys     | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+---------------+-----------+-------------------------------------------+
3 rows in set (0.00 sec)
mysql> exit                                           #退出
Bye

防火墙放行3306端口

[root@192 ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@192 ~]# systemctl restart firewalld.service

4、实现Navicat连接

如果要使用 Navicat 之类的辅助工具连接MySQL,需要MySQL提供账号和密码。但是MySQL默认不允许 root 用户被外部工具访问,只允许本地访问,所以需要新增对外的账户。

#赋权操作
mysql> grant all privileges on *.* to root@'%' identified by 'admin@123' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
#参数说明:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
GRANT:赋权命令
ALL PRIVILEGES: 当前用户的所有权限
ON: 介词
*.*:当前用户对所有数据库和表的相应操作权限
TO: 介词
'root'@'%':权限赋给root用户,所有ip都能连接
IDENTIFIED BY '123456':连接时输入密码,密码为123456
WITH GRANT OPTION:允许级联赋权

#刷新权限
mysql> flush privileges;     
Query OK, 0 rows affected (0.00 sec)
posted @ 2024-01-05 21:26  Jancychen  阅读(456)  评论(0)    收藏  举报