centos7安装MySQL8

Centos7安装MySQL8

MySQL版本:8.0.34

1.安装前准备

(1)查看是否安装mariadb

root@kb135 \~# rpm -qa|grep mariadb

(2)卸载mariadb并检查是否卸干净

root@kb135 \~# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

2.安装mysql

(1)将安装包复制到/opt/software文件夹下

(2)解压文件至/usr/local目录下

root@kb135 software# tar -xvf mysql-8.0.34-linux-glibc2.12-x86_64.tar.xz -C /usr/local/

(3)重命名

root@kb135 local# mv mysql-8.0.34-linux-glibc2.12-x86_64/ mysql

(4)创建data文件夹

root@kb135 local# mkdir mysql/data

(5)创建用户和用户组

创建用户组

root@kb135 mysql# groupadd mysql

创建用户并指定用户组

root@kb135 mysql# useradd -r -g mysql mysql

更改权限

root@kb135 mysql# chmod -R 755 /usr/local/mysql/

(6)初始化MySQL

进入MySQL的bin目录

root@kb135 mysql# cd /usr/local/mysql/bin/

初始化

root@kb135 bin# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

初始化完成后会得到一个随机密码

(7)配置参数文件

root@kb135 bin# vim /etc/my.cnf

修改文件为以下内容

client

port = 3306

socket = /usr/local/mysql/data/mysql.sock

default-character-set = utf8mb4

mysql

default-character-set = utf8mb4

mysqld

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_general_ci

init_connect = 'SET NAMES utf8mb4'

port = 3306

socket = /usr/local/mysql/data/mysql.sock

skip-external-locking

key_buffer_size = 16M

max_allowed_packet = 1M

table_open_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

datadir = /usr/local/mysql/data

#lower_case_table_names=1

#如果要设置lower_case_table_names可以在初始化里面设置 ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower_case_table_names=1

mysqldump

quick

max_allowed_packet = 16M

mysql

no-auto-rehash

myisamchk

key_buffer_size = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

mysqlhotcopy

interactive-timeout

修改文件权限为777

root@kb135 bin# chmod 777 /etc/my.cnf

(8)启动MySQL

root@kb135 bin# /usr/local/mysql/support-files/mysql.server start

(9)设置软连接,并重启MySQL

root@kb135 bin# ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

root@kb135 bin# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

root@kb135 bin# ln -s /usr/local/mysql/mysql.sock /var/mysql.sock

root@kb135 bin# service mysql restart

(10)登录并修改密码

root@kb135 bin# mysql -uroot -p

输入之前的随机密码

修改密码

mysql> set password for root@localhost = '123456';

(11)开放远程连接

mysql> use mysql;

mysql> update user set user.Host='%' where user.User='root';

mysql> flush privileges;

(12)使用navicat测试连接

相关推荐
大梦想家a1 小时前
基于 Spring Boot 的物流运单管理系统后端设计与实现(JWT + MyBatis-Plus + MySQL)
spring boot·mysql·mybatis
云贝贝贝11 小时前
腾讯云 TDSQL(MySQL 版)运维高频 6 坑:代理路由、读写分离、分片键、监控、PITR
运维·mysql·腾讯云
山岚的运维笔记15 小时前
mysql 专业笔记 -- 第 8 章:使用变量
运维·数据库·笔记·后端·学习·mysql·dba
JavaPub-rodert19 小时前
Redis 和 MySQL 如何保证数据一致性?从业务方案到底层原理完整讲解
数据库·redis·mysql
笑梦无境21 小时前
mysql的安装及配置(3)
数据库·mysql·adb
Gent_倪21 小时前
MySQL分库、分表、分区详解
数据库·mysql
Wang's Blog21 小时前
Vibe Coding一人即团队系列54:云服务器 Node.js 与 MySQL 9 环境搭建及配置指南
服务器·人工智能·mysql·node.js
数智启示录1 天前
Apache Kafka 幂等 Producer 的边界:Exactly-Once 到了 MySQL 为什么失效 【Kafka合集】
数据库·经验分享·分布式·mysql·面试·kafka·apache
—Miss. Z—1 天前
计算机三级数据库技术—填空题
数据库·mysql
Gent_倪1 天前
MySQL 与 Hive 语法异同点详解
数据库·hive·mysql