Linux【CentOS7.6】安装Mysql-5.7.30版本数据库

1、从Mysql官网下载mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz二进制安装包

在这里插入图片描述

2、进入Linux系统进行安装

(1)把下载好的mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz包放到/home/tools/目录下

[root@VM-24-12-centos tools]# pwd
/home/tools
[root@VM-24-12-centos tools]# ll
total 644556
-rw-r--r-- 1 root root 660017902 Aug 22 16:01 mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz

(2)安装Mysql数据库时首先要排查服务器内是否已安装mariadb,排查命令如下

[root@VM-24-12-centos ~]# rpm -qa|grep -i mariadb-libs
mariadb-libs-5.5.68-1.el7.x86_64

(3)如果存在需强制卸载,不卸载后面安装时会出问题

[root@VM-24-12-centos ~]# rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
[root@VM-24-12-centos ~]# rpm -qa|grep -i mariadb-libs

3、以上都准备就绪,进行正式安装Mysql

(1)解压二级制安装包

[root@VM-24-12-centos tools]# tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
[root@VM-24-12-centos tools]# ll
total 644560
drwxr-xr-x 9 root root      4096 Aug 24 09:47 mysql-5.7.30-linux-glibc2.12-x86_64
-rw-r--r-- 1 root root 660017902 Aug 22 16:01 mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz

(2)复制到/usr/local/目录下

[root@VM-24-12-centos tools]# cp mysql-5.7.30-linux-glibc2.12-x86_64 /usr/local/mysql -r

(3)添加系统mysql组和mysql用户

[root@VM-24-12-centos tools]# groupadd mysql
[root@VM-24-12-centos tools]# useradd -r -g mysql mysql

(4)进入/usr/local/mysql目录,创建data和logs目录

[root@VM-24-12-centos tools]# cd /usr/local/mysql/
[root@VM-24-12-centos mysql]# ll
total 304
drwxr-xr-x  2 root root   4096 Aug 24 09:50 bin
drwxr-xr-x  2 root root   4096 Aug 24 09:49 docs
drwxr-xr-x  3 root root   4096 Aug 24 09:50 include
drwxr-xr-x  5 root root   4096 Aug 24 09:49 lib
-rw-r--r--  1 root root 275235 Aug 24 09:50 LICENSE
drwxr-xr-x  4 root root   4096 Aug 24 09:49 man
-rw-r--r--  1 root root    587 Aug 24 09:50 README
drwxr-xr-x 28 root root   4096 Aug 24 09:49 share
drwxr-xr-x  2 root root   4096 Aug 24 09:50 support-files
[root@VM-24-12-centos mysql]# mkdir data/ logs/
[root@VM-24-12-centos mysql]# ll
total 312
drwxr-xr-x  2 root root   4096 Aug 24 09:50 bin
drwxr-xr-x  2 root root   4096 Aug 24 09:54 data
drwxr-xr-x  2 root root   4096 Aug 24 09:49 docs
drwxr-xr-x  3 root root   4096 Aug 24 09:50 include
drwxr-xr-x  5 root root   4096 Aug 24 09:49 lib
-rw-r--r--  1 root root 275235 Aug 24 09:50 LICENSE
drwxr-xr-x  2 root root   4096 Aug 24 09:54 logs
drwxr-xr-x  4 root root   4096 Aug 24 09:49 man
-rw-r--r--  1 root root    587 Aug 24 09:50 README
drwxr-xr-x 28 root root   4096 Aug 24 09:49 share
drwxr-xr-x  2 root root   4096 Aug 24 09:50 support-files

(5)把data和logs目录权限分配给mysql用户

[root@VM-24-12-centos mysql]# chown mysql:mysql data/ logs/
[root@VM-24-12-centos mysql]# ll
total 312
drwxr-xr-x  2 root  root    4096 Aug 24 09:50 bin
drwxr-xr-x  2 mysql mysql   4096 Aug 24 09:54 data
drwxr-xr-x  2 root  root    4096 Aug 24 09:49 docs
drwxr-xr-x  3 root  root    4096 Aug 24 09:50 include
drwxr-xr-x  5 root  root    4096 Aug 24 09:49 lib
-rw-r--r--  1 root  root  275235 Aug 24 09:50 LICENSE
drwxr-xr-x  2 mysql mysql   4096 Aug 24 09:54 logs
drwxr-xr-x  4 root  root    4096 Aug 24 09:49 man
-rw-r--r--  1 root  root     587 Aug 24 09:50 README
drwxr-xr-x 28 root  root    4096 Aug 24 09:49 share
drwxr-xr-x  2 root  root    4096 Aug 24 09:50 support-files

(6)切换/ect目录创建my.cnf文件并进行配置

[root@VM-24-12-centos etc]# vim my.cnf
[mysqld]
# 端口
port = 3306
socket = /tmp/mysql.sock
pid-file = /usr/local/mysql/data/mysql.pid
# 设置服务端字节集
character-set-server = utf8
# 设置Mysql的安装目录
basedir = /usr/local/mysql
# 设置Mysql数据库数据存储目录
datadir = /usr/local/mysql/data
# 允许最大连接数
max_connections = 1000
# 创建新表时使用默认存储引擎
default-storage-engine = INNODB
# 设置错误日志
log-error = /usr/local/mysql/logs/error.log
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
:wq! # 保存编辑强制退出

(7)切回/usr/local/mysql目录进行初始化

[root@VM-24-12-centos mysql]# ./bin/mysqld --initialize --user=mysql

(8)如果初始化出现“libaio.so”错误,需安装libaio依赖

# 错误信息
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
# 安装libaio依赖
[root@VM-24-12-centos mysql]# yum install -y libaio

(9)查看日志是否初始化成功

[root@VM-24-12-centos mysql]# tail ./logs/error.log 
2022-08-24T02:06:45.022315Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-08-24T02:06:45.022376Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2022-08-24T02:06:45.022380Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2022-08-24T02:06:45.332738Z 0 [Warning] InnoDB: New log files created, LSN=45790
2022-08-24T02:06:45.399016Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2022-08-24T02:06:45.480359Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 678a7430-2351-11ed-9619-525400b79b9b.
2022-08-24T02:06:45.484165Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2022-08-24T02:06:46.475548Z 0 [Warning] CA certificate ca.pem is self signed.
2022-08-24T02:06:46.725491Z 1 [Note] A temporary password is generated for root@localhost: 0ayYRHdEOa;*
# 未出现[ERROR]错误并且root@localhost密码已显示出来此说明已安装成功

(10)启动Mysql服务

[root@VM-24-12-centos mysql]# service mysql start
Redirecting to /bin/systemctl start mysql.service
Failed to start mysql.service: Unit not found.
# 出现类似问题说明Mysql服务未添加到系统中,需手动添加
[root@VM-24-12-centos mysql]# cp support-files/mysql.server /etc/init.d/mysql
# 再次启动
[root@VM-24-12-centos mysql]# service mysql start
Starting MySQL. SUCCESS! 
# 出现“SUCCESS”表示已启动成功
# 查看Mysql进程
[root@VM-24-12-centos mysql]# ps -ef|grep mysql
root     14289     1  0 10:21 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid
mysql    14504 14289  1 10:21 pts/1    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/logs/error.log --pid-file=/usr/local/mysql/data/mysql.pid --socket=/tmp/mysql.sock --port=3306
root     14609 13867  0 10:22 pts/1    00:00:00 grep --color=auto mysql

(11)登录Mysql服务并重置root密码

[root@VM-24-12-centos mysql]# mysql -uroot -p
-bash: mysql: command not found
# 出现类似问题需把Mysql放到/user/bin目录下
[root@VM-24-12-centos mysql]# ln -s /usr/local/mysql/bin/mysql /usr/bin
# 再次登录
[root@VM-24-12-centos mysql]# mysql -uroot -p
Enter password: 0ayYRHdEOa;*
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.30

Copyright (c) 2000, 2020, 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.
# 重置root密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.00 sec)
# 刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 退出
mysql> quit;
Bye

# 再次登录
[root@VM-24-12-centos mysql]# mysql -uroot -p
Enter password: 123456
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.30 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, 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> select host,user,authentication_string from mysql.user;
+-----------+---------------+-------------------------------------------+
| host      | user          | authentication_string                     |
+-----------+---------------+-------------------------------------------+
| localhost | root          | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys     | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+-----------+---------------+-------------------------------------------+
3 rows in set (0.01 sec)

(12)root用户开启远程访问

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
# 查看用户
mysql> select host,user,authentication_string from mysql.user;
+-----------+---------------+-------------------------------------------+
| host      | user          | authentication_string                     |
+-----------+---------------+-------------------------------------------+
| localhost | root          | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys     | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| %         | root          | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+---------------+-------------------------------------------+
4 rows in set (0.00 sec)
# 刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 退出
mysql> quit;

(13)本地用Navicat连接验证远程访问是否设置成功

在这里插入图片描述

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值