mysql8.0.21安装报错,centOS 7 安装mysql8.0.21

文章目录

Linux下安装mysql8.0.20

安装前准备

1. 下载地址

2. 检测是否安装过mysql

# 检测是否安装过mysql

rpm -qa | grep mysql

# 删除命令

rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64

3. 查询所有Mysql对应的文件夹(删除)

whereis mysql

rm -rf /usr/lib64/mysql /usr/share/mysql

find / -name mysql

rm -rf /etc/selinux/targeted/active/modules/100/mysql

25976652222e

在这里插入图片描述

4. 检查mysql用户组和用户是否存在,如果没有,则创建

cat /etc/group | grep mysql

cat /etc/passwd |grep mysql

groupadd mysql

useradd -r -g mysql mysql

25976652222e

在这里插入图片描述

安装

1. 下载、上传、解压安装包

官网下载,xftp上传

# 解压

tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

25976652222e

在这里插入图片描述

2. 将解压的文件移动到/usr/local下,并重命名为mysql

# 移动位置并重命名

mv /mysql-8.0.20-linux-glibc2.12-x86_64 /usr/local/mysql

25976652222e

在这里插入图片描述

3. 进入/usr/local/mysql目录下,创建data文件夹,并授权

cd /usr/local/mysql/

# 创建文件夹

mkdir data

# 给文件夹授权

chown -R root:root /usr/local/mysql

# 给文件夹授权

chown -R mysql:mysql /usr/local/mysql/data/

25976652222e

在这里插入图片描述

4. 初始化数据库,并会自动生成随机密码,记下等下登陆要用

# 初始化数据库,mysql的bin目录下的mysqld命令

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

临时密码:root@localhost:后面的那串代码

25976652222e

在这里插入图片描述

补充说明:

此步可能会出错:

出现该问题首先检查该链接库文件有没有安装使用,命令进行核查。

并安装文件,安装完成之后重新初始化。

# 检测命令

rpm -qa|grep libaio

#

yum install libaio-devel.x86_64

#

yum -y install numactl

25976652222e

在这里插入图片描述

5. cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

复制过去,其实也就是空白页,一开始没有my-default.cnf这个文件,可以用touch my-default.cnf命令创建一个,并配置权限

chmod 777 ./my-default.cnf

25976652222e

在这里插入图片描述

6. 配置my.cnf

vi /etc/my.cnf

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging

# changes to the binary log between backups.

# log_bin

# These are commonly set, remove the # and set as required.

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

socket = /tmp/mysql.sock

log-error = /usr/local/mysql/data/error.log

pid-file = /usr/local/mysql/data/mysql.pid

port = 3306

#lower_case_table_names = 1

# server_id = .....

# socket = .....

#lower_case_table_names = 1

max_allowed_packet=32M

default-authentication-plugin = mysql_native_password

#lower_case_file_system = on

#lower_case_table_names = 1

log_bin_trust_function_creators = ON

# Remove leading # to set options mainly useful for reporting servers.

# The server defaults are faster for transactions and fast SELECTs.

# Adjust sizes as needed, experiment to find the optimal values.

# join_buffer_size = 128M

# sort_buffer_size = 2M

# read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

如果后期mysql运行报错,可以直接到log-error = /usr/local/mysql/data/error.log目录下直接查看错误日志

命令:cat /usr/local/mysql/data/error.log

7. 开机自启,进入/usr/local/mysql/support-files进行设置

cd support-files/

cp mysql.server /etc/init.d/mysql

chmod +x /etc/init.d/mysql

25976652222e

在这里插入图片描述

8. 注册服务并检测

注册

chkconfig --add mysql

如果命令没有,在需要处理chkconfig

rpm -aq |grep chkconfig

export PATH=/sbin:$PATH

chkconfig

echo $PATH

PATH="$PATH":/sbin

echo $PATH

检测

chkconfig --list mysql

25976652222e

在这里插入图片描述

9. etc/ld.so.conf要配置路径,不然报错

vim /etc/ld.so.conf

# 添加如下内容:

/usr/local/mysql/lib

25976652222e

在这里插入图片描述

10. 配置环境变量

# 配置环境变量

vim /etc/profile

# 添加如下内容:

# MYSQL ENVIRONMENT

export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib

# 系统重新加载文件,记得一定要

source /etc/profile

25976652222e

在这里插入图片描述

11. 登陆,修改密码

密码:第4步初始化数据库随机生成得密码,输入密码不显示。

[root@VM_0_3_centos support-files]# service mysql start

Starting MySQL.. SUCCESS!

[root@VM_0_3_centos support-files]# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 82

Server version: 8.0.20

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> alter user 'root'@'localhost' identified by 'kid+1412';

Query OK, 0 rows affected (0.01 sec)

mysql>

25976652222e

在这里插入图片描述

12. 开启Navicat远程连接

# 登录

[root@VM_0_3_centos support-files]# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2582

Server version: 8.0.20 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数据库

mysql> use mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

# 查看用户信息

mysql> select host, user, authentication_string, plugin from user;

+-----------+------------------+------------------------------------------------------------------------+-----------------------+

| host | user | authentication_string | plugin |

+-----------+------------------+------------------------------------------------------------------------+-----------------------+

| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |

| localhost | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |

| localhost | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |

| localhost | root | $A$005$=!..iRO=k:x_>qiFtXTYJmwgur/2pJH1mfk26FBL.1YZOC.YcBw8auuFFM0 | caching_sha2_password |

+-----------+------------------+------------------------------------------------------------------------+-----------------------+

4 rows in set (0.00 sec)

# 更新root信息

mysql> update user set host = '%' where user = 'root';

Query OK, 1 row affected (0.02 sec)

Rows matched: 1 Changed: 1 Warnings: 0

# 授权root用户可以远程登陆,失败

mysql> GRANT ALL ON *.* TO 'root'@'%';

ERROR 1410 (42000): You are not allowed to create a user with GRANT

# 立即生效,重新授权

mysql> flush privileges;

Query OK, 0 rows affected (0.02 sec)

# 授权root用户可以远程登陆

mysql> GRANT ALL ON *.* TO 'root'@'%';

Query OK, 0 rows affected (0.02 sec)

# 立即生效

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

#

mysql> alter user 'root'@'%' identified with mysql_native_password by 'kid+1412';

Query OK, 0 rows affected (0.01 sec)

# 立即生效

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

# 退出

mysql> exit

Bye

13.navicat连接成功

25976652222e

在这里插入图片描述

出现远程连接不上的问题。 是因为防火墙设置的问题 。按如下设置即可。

在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理

添加

firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)

firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent

重新载入: firewall-cmd --reload

查看: firewall-cmd --zone=public --query-port=80/tcp

删除: firewall-cmd --zone=public --remove-port=80/tcp --permanent

开启防火墙: systemctl start firewalld.service

关闭防火墙 :systemctl stop firewalld.service

查看运行状态:firewall-cmd --state //running 表示运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值