Centos7 安装mysql 8.0.32版本(解压glibc版本)

  • Post author:
  • Post category:mysql




Centos 7 安装 MySQL 8.0.32 glibc 版本总结

Centos7中安装MySQL服务时,首先需要卸载掉mariadb,mariadb可能会与MySQL产生冲突。



1、卸载mariadb

查找mariadb是否已经安装(默认已经安装)

rpm -qa | grep mariadb

在这里插入图片描述

接下来将查找到的mariadb进行删除处理

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

在这里插入图片描述

再次查找mariadb发现已经消失。

在这里插入图片描述



2、解压文件



2.1、下载压缩文件到服务器

下载压缩文件有两种方案。第一种是直接使用wget下载,第二种是通过本地上传到主机中。


数据库下载地址


此处只演示第一种方案:使用wget下载到主机。

跳转到要安装mysql的目录(我是将mysql放到 /data/software 目录下 )

在这里插入图片描述

wget下载命令如下

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz

在这里插入图片描述

等待下载完成。出现下图所示界面为下载完成。

在这里插入图片描述

可以看到目录下已经有压缩包

在这里插入图片描述

接下来需要进行解压操作



2.2、解压

解压使用如下命令

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

在这里插入图片描述

如图为正常解压过程。

在这里插入图片描述

解压完成之后修改下文件名称。

mv mysql-8.0.32-linux-glibc2.12-x86_64 mysql8.0.32

在这里插入图片描述



3、添加环境变量

export PATH=$PATH:/data/software/mysql8.0.32/bin



4、修改保存目录和权限



4.1、 设置数据保存目录

创建数据存储目录

mkdir -p /data/software/mysql8/datas



4.2 创建用户和用户组

创建mysql用户和mysql用户组

#创建用户组
groupadd mysql
#创建用户
useradd -r -g mysql mysql



4.3、更改数据保存目录的权限(属主和属组)

#更改数据存储目录的属主和权限(root为当前用户)
chown -R root /data/software/mysql8/datas

chmod -R 750 /data/software/mysql8/datas

在这里插入图片描述



5、修改配置文件



5.1、 修改(创建)my.cnf

在 /data/software/mysql8(mysql8为mysql解压包的存放目录)目录中创建my.cnf

vi my.cnf

在这里插入图片描述

将下列脚本写入my.cnf配置文件中。

[mysql]
# 默认字符集
default-character-set=utf8mb4
[client]
port       = 3306
socket     = /tmp/mysql.sock

[mysqld]
port       = 3306
server-id  = 3306
 #当前目录
user       = root  #当前用户
wait_timeout=31536000
interactive_timeout=31536000
socket     = /tmp/mysql.sock
# 安装目录
basedir    = /data/software/mysql8
# 数据存放目录
datadir    = /data/software/mysql8/datas/mysql
log-bin    = /data/software/mysql8/datas/mysql/mysql-bin
innodb_data_home_dir      =/data/software/mysql8/datas/mysql
innodb_log_group_home_dir =/data/software/mysql8/datas/mysql
#日志及进程数据的存放目录
log-error =/data/software/mysql8/datas/mysql/mysql.log
pid-file  =/data/software/mysql8/datas/mysql/mysql.pid
# 服务端使用的字符集默认为8比特编码
character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1
##################以上要修改的########################
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 100M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
sql-mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

#query_cache_size = 128M
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
   
binlog_format=mixed
    
binlog_expire_logs_seconds =864000
    
# 创建新表时将使用的默认存储引擎
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED
bind-address = ::

[mysqldump]
quick
max_allowed_packet = 16M
       
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
        
[mysqlhotcopy]
interactive-timeout

在这里插入图片描述



6、数据库初始化

切换到mysql的bin目录下进行mysql的初始化

#basedir
#datadir
#user(当前用户)
./mysqld --defaults-file=/data/software/mysql8/my.cnf --basedir=/data/software/mysql8/ --datadir=/data/software/mysql8/datas/mysql --user=root --initialize

在这里插入图片描述

查看默认密码

cat /data/software/mysql8/datas/mysql/mysql.log

在这里插入图片描述



7、添加mysql服务到系统中

将mysql服务添加到系统中,可以以服务的形式来启动。

cp -a ./support-files/mysql.server /etc/init.d/mysql

修改mysql.server

#位置需要根据自己的位置进行修改
#修改/data/software/mysql8/support-files/mysql.server
#basedir=/data/software/mysql8
 # bindir=/data/software/mysql8/bin
    #datadir=/data/software/mysql8/data
  #sbindir=/data/software/mysql8/bin
#  libexecdir=/data/software/mysql8/bin

vi /data/software/mysql8/support-files/mysql.server

下面的地方是修改的地方。
在这里插入图片描述

修改完之后保存。

cp -a /data/software/mysql8/support-files/mysql.server /etc/init.d/mysql

在这里插入图片描述



8、授权以及添加服务

chmod +x /etc/init.d/mysql
chkconfig --add mysql

在这里插入图片描述



9、启动mysql

systemctl start mysql
#或者
service mysql start

在这里插入图片描述

如果没有启动成功,可以根据报错信息去查错。



10、查看启动状态

systemctl status mysql
#或者
service mysql status

在这里插入图片描述



11、将mysql添加到服务

ln -s /data/software/mysql8/bin/mysql /usr/bin

在这里插入图片描述



12、登录mysql

密码是之前生成的随机密码

mysql -u root -p

登陆成功之后需要修改密码



13、修改root密码

#password为你要设置的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';



14、刷新权限

FLUSH PRIVILEGES;



15、设置允许远程登陆

update user set user.Host='%'where user.User='root';
flush privileges;



版权声明:本文为qq_46140800原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。