linux环境安装mysql8.0.32

linux环境安装mysql8.0.32

  • 一、下载安装包
  • 二、安装前准备
    • 2.1 卸载旧版本mysql
    • 2.2 检查是否安装了 mariadb 数据库
    • 2.3 安装依赖包创建 mysql 用户
  • 三、安装
    • 3.1 上传并解压安装包(上传路径没有要求,一般在/usr/local)
    • 3.2 初始化数据库
    • 3.3 注册数据库服务
    • 3.4 启动 mysql 服务
    • 3.5 配置数据库的 sock 文件,并修改 root 用户的初始密码
    • 3.6 创建 ecology 数据库,并创建账号,赋权
  • 四、客户端连接
    • 4.1 输入信息
    • 4.2 Public Key Retrieval报错
    • 4.3 Access denied报错
  • 五、总结

一、下载安装包

访问官网:https://www.mysql.com/
linux环境安装mysql8.0.32_第1张图片
往下划到最下面:
linux环境安装mysql8.0.32_第2张图片
点击Community Server
linux环境安装mysql8.0.32_第3张图片
按如下图步骤点选下载
点选archives
linux环境安装mysql8.0.32_第4张图片
选择版本,类型,系统位数
linux环境安装mysql8.0.32_第5张图片

下载
linux环境安装mysql8.0.32_第6张图片

二、安装前准备

2.1 卸载旧版本mysql

// 查看现有mysql:
rpm -qa|grep -i mysql
// 查看mysql状态
systemctl status mysqld.service
// 若为启用状态,则停止
systemctl stop mysqld.service
// 卸载旧mysql(mysql-8.0.32-linux-glibc2.12-x86_64为查出来的mysql名称	)
rpm -ev --nodeps mysql-8.0.32-linux-glibc2.12-x86_64
// 再查看现有mysql,发现已经卸载完成:
rpm -qa|grep -i mysql
// 查找mysql对应目录
find / -name mysql
// 如果存在则需要用rm -rf  进行删除
// 删除完后再次执行find / -name mysql进行确认

手动卸载my.cnf文件

rm -rf /etc/my.cnf

检查是否卸载成功

rpm -qa | grep -i mysql 或者 systemctl start mysql

2.2 检查是否安装了 mariadb 数据库

检查系统是否安装了mariadb数据库, mariadb数据库是mysql的分支,是免费开源的。 mariadb和msyql会有冲突。首先要检查安装了mariadb, 如果有,需要卸载掉。
检查命令:
使用:yum list installed | grep mariadb 或 rpm -qa | grep mariadb
linux环境安装mysql8.0.32_第7张图片
若linux中安装了mariadb数据库,先卸载掉, mariadb数据库可能与安装mysql发生冲突。

执行命令:yum -y remove mariadb-libs-5.5.68-1.el7.x86_64
或者执行:rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

2.3 安装依赖包创建 mysql 用户

libaio 属于建议安装的系统包,该功能可以提高数据库的 IO 性能
系统自带的有 yum 源可以使用 yum 安装或者使用系统自带的镜像进行 RPM 安装

 yum install libaio -y
 // 没有配置 yum 可使用 rpm 安装:rpm 安装命令:rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm

没有配置 yum 可使用 rpm 安装:rpm 安装命令:rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm

// 创建 mysql 用户和用户组
 groupadd mysql
 useradd -r -g mysql -s /bin/false mysql

三、安装

3.1 上传并解压安装包(上传路径没有要求,一般在/usr/local)

cd /usr/local/
xz -d mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
tar xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar
mv /usr/local/mysql-8.0.32-linux-glibc2.12-x86_64 /usr/local/mysql
cd mysql
chown mysql:mysql -R /usr/local/mysql/*

3.2 初始化数据库

vi /etc/my.cnf

编辑 my.cnf 配置文件(可直接覆盖原有内容)

[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/var/lib/mysql/data
socket=/var/lib/mysql/mysql.sock
pid-file=/var/lib/mysql/mysql.pid

log-error=/var/lib/mysql/error.log
tmpdir=/tmp
server_id=1
user=mysql

#skip-grant-tables
character-set-server=utf8mb4
explicit_defaults_for_timestamp=on
secure-file-priv=NULL

max_connections = 1000
group_concat_max_len = 102400
lower_case_table_names = 1
log_bin_trust_function_creators=1
transaction_isolation = READ-COMMITTED
open-files-limit = 65535

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
[client]
default-character-set=utf8mb4
socket=/var/lib/mysql/mysql.sock
[mysql]
default-character-set = utf8mb4



注意:尽量不要删减,比如我没有配置lower_case_table_names = 1,默认区分表名大小写,导致cachecloud报错找不到表,其他配置可根据实际情况配置

初始化数据库,安装加密算法,并启动数据库(初始化过程有随机的 root 密码,注意输出信息)

cd /usr/local/mysql
bin/mysqld --initialize --user=mysql
// 注意此处的系统输出信息中包含系统默认的 root 用户密码,请记录下来。

如果没有打印出默认root密码,则在日志中查询,日志文件路径已经配置在/etc/my.cnf文件的log-error=/var/lib//mysql/error.log中,可定位到日志文件进行查看root默认密码
安装加密算法

bin/mysql_ssl_rsa_setup

3.3 注册数据库服务

[root@localhost mysql]# cd /usr/local/mysql
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chmod +x /etc/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on

3.4 启动 mysql 服务

[root@localhost mysql]#service mysqld start

3.5 配置数据库的 sock 文件,并修改 root 用户的初始密码

[root@localhost mysql]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
[root@localhost mysql]# /usr/local/mysql/bin/mysql -uroot -p

Enter password: 输入随机生成的密码(即步骤 3.2 记录下来的密码)

mysql> set password = 'mysqltest123';

3.6 创建 ecology 数据库,并创建账号,赋权

mysql>create database ecology;
mysql> create user ecology identified with mysql_native_password by 'ecology123';
mysql> grant all privileges on *.* to ' ecology '@'%';
mysql> flush privileges;

8.0.X用户管理版本变动较大,请根据官方手册设置。

四、客户端连接

4.1 输入信息

linux环境安装mysql8.0.32_第8张图片

4.2 Public Key Retrieval报错

测试连接,报错如下:

Public Key Retrieval is not allowed

linux环境安装mysql8.0.32_第9张图片
设置驱动属性
linux环境安装mysql8.0.32_第10张图片

4.3 Access denied报错

Access denied for user ‘root’@‘..*.’ (using password: YES)

linux环境安装mysql8.0.32_第11张图片

root账户登录的情况下:

use mysql;
update user set host ="%" where user="root";
flush privileges;

注意:如果进行以上步骤还报这个错,请核实填写的密码

linux环境安装mysql8.0.32_第12张图片

五、总结

通过以上步骤,即可完成mysql8.0.32的安装和客户端的连接,如果遇到其他问题,可根据具体情况解决问题。

以上仅供参考。

你可能感兴趣的:(数据库,运维,mysql,linux,centos,mysql,java)