CentOS7安装MySQL8

PS: 记录一下CentOS7安装配置Mysql过程

查看CentOS7的版本信息:cat /etc/centos-release
环境介绍

  • CentOS7
  • MySQL8.0.30

1.卸载MariaDB

  • 在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。
  • CentOS 7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。
  • 如果直接安装MySQL,会和MariaDB的文件冲突。
  • 因此,需要先卸载自带的MariaDB,再安装MySQL。

1.1查看是否安装

rpm -qa|grep mariadb

在这里插入图片描述

1.2卸载

rpm -e --nodeps 文件名

1.3检查是否卸干净

rpm -qa|grep mariadb

2检查依赖

2.1查看是否安装libaio

rpm -qa|grep libaio
  • 未安装,则安装libaio

yum -y install libaio 

2.2检查是否安装numactl

rpm -qa|grep numactl
  • 未安装,则安装numactl

yum -y install numactl

在这里插入图片描述

3.安装MySQL

3.1下载资包

在这里插入图片描述

  • .tar

    • .tar 是一种打包格式,用于将多个文件或目录组合成一个单独的文件。
    • .tar 不进行压缩,只是将文件或目录打包成一个单一文件,以方便传输或存储。
    tar -cvf archive.tar ./shangc.sh /etc
    
  • .tar.gz

    • .tar.gz 是一种同时使用了打包(tar)和压缩(gzip)的格式。
    • 先使用 tar 命令将文件或目录打包成一个 .tar 文件,然后使用 gzip 压缩这个 .tar 文件,生成一个 .tar.gz 文件。
    • 由于使用了 gzip 压缩,.tar.gz 文件通常比单纯的 .tar 文件更小,占用更少的磁盘空间。
    tar -cvf archive.tar.gz ./shangc.sh /etc
    # 将当前路径下的shangc.sh文件和根目录下的etc目录打包并压缩为名为archive.tar.gz的压缩包(此时有压缩的效果)
    
  • wget下载

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.30-el7-x86_64.tar.gz

3.2解压

  • 安装包上传到了 /usr/local/ 目录
3.2.1进入安装包目录
cd /usr/local/
3.2.2解压文件
  • tar.gz
tar -zxvf mysql-8.0.30-el7-x86_64.tar.gz
rm -rf mysql-8.0.30-el7-x86_64.tar.gz
  • tar
tar -xvf mysql-8.0.30-el7-x86_64.tar
rm -rf mysql-8.0.30-el7-x86_64.tar

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.3重命名

  • 将解压后的文件夹重命名为mysql
mv mysql-8.0.30-el7-x86_64/ mysql

3.4创建存储数据文件

  • 在重命名后的mysql文件夹中创建data文件夹
mkdir mysql/data

3.5设置用户组并赋权

3.5.1创建用户组
groupadd mysql
3.5.2创建用户
  • -r:创建系统用户
  • -g:指定用户组
useradd -r -g mysql mysql
3.5.3更改属主和数组
chown -R mysql:mysql /usr/local/develop/mysql/
3.5.4更改权限
chmod -R 755 /usr/local/develop/mysql/

3.6初始化MySQL

3.6.1进入MySQL的bin目录
cd /usr/local/develop/mysql/bin
3.6.2初始化
./mysqld --initialize --user=mysql --datadir=/usr/local/develop/mysql/data --basedir=/usr/local/develop/mysql

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 临时随机密码:lr,&Phy.Z9x.

3.7配置参数文件

3.7.1打开配置文件
vim /etc/my.cnf
3.7.2添加配置
[client]
port = 3306
socket = /usr/local/develop/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/develop/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/develop/mysql/data

[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
  • lower_case_table_names

    • 如果要设置lower_case_table_names可以在初始化里面设置

       ./mysqld --initialize --user=mysql --datadir=/usr/local/develop/mysql/data --basedir=/usr/local/develop/mysql --lower_case_table_names=1
      
3.7.3修改权限
chmod 644 /etc/my.cnf
3.7.4修改mysql.server
vim /usr/local/develop/mysql/support-files/mysql.server
basedir=/usr/local/develop/mysql
datadir=/usr/local/develop/mysql/data

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.8启动MySQL

/usr/local/develop/mysql/support-files/mysql.server start
  • 报错

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 解决

    可能进程里已经存在mysql进程
    解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
    
    ps -ef|grep mysqld
    kill -9 进程号
    

3.9 设置软连接或环境变量

3.9.1添加PATH变量
  • 添加PATH变量后,可在全局使用MySQL。

  • 有两种添加方式

    • export命令临时生效

      export PATH=$PATH:/usr/local/develop/mysql/bin
      
    • 修改配置文件用久生效

      • 打开文件
      vim /etc/profile
      
      • 添加内容
      export PATH=$PATH:/usr/local/develop/mysql/bin
      
      • 更新配置文件
      source /etc/profile
      
3.9.2设置软连接,重启MySQL
ln -s /usr/local/develop/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/develop/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/develop/mysql/mysql.sock /var/mysql.sock
service mysql restart

3.10登录并修改密码

3.10.1登录
mysql -uroot -p
Enter password: 输入初始化随机密码  # 输入不会显示密码
3.10.2修改密码
alter user 'root'@'localhost' identified by '740740';
或者
set password for root@localhost = '740740';

3.11开远程连接

mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;    //刷新权限

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.12连接工具测试连接MySQL

  • 如果服务器本地可以连接,但是连接工具远程连接不进去
  • 检查一下防火墙是否放行3306端口,也可以暂时先关闭防火墙后重试。

关闭防火墙
systemctl stop firewalld

3.13MySQL启动和停止

    • 查看文件位置

      find / -name mysql.sock
      

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

      • 修改my.cnf中配置的路径,保证两者相同
3.13.1启动
service mysql start
3.13.2停止
service mysql stop
3.13.3重启
service mysql restart
3.13.4查看状态
service mysql status

4.设置开机自启动

4.1.服务文件
  • 将服务文件拷贝到 /etc/init.d下,并重命名为mysqld
cp /usr/local/develop/mysql/support-files/mysql.server /etc/init.d/mysqld
4.2赋予可执行权限
chmod +x /etc/init.d/mysqld
4.3添加服务
chkconfig --add mysqld
4.4显示服务列表
chkconfig --list

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注:如果看到mysqld的服务,并且3,4,5都是on的话则成功,如果是off,则执行

chkconfig --level 345 mysqld on
4.5重启系统
reboot
4.6查看自启动
  • 重启后查看mysql是否开机自启动
ps -ef|grep mysql

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值