centos7下安装mysql8

本文详细介绍了如何在CentOS7系统中下载、安装MySQL8,并将其配置到指定目录,包括创建用户组和用户、初始化数据库、修改配置文件、设置开机自启等步骤。接着,讲解了开启远程连接的流程,如修改密码、允许远程访问以及防火墙设置。最后,提供了解决命令找不到和密码修改不生效问题的方法。
摘要由CSDN通过智能技术生成

mysql安装

一、安装包下载

方式一:先下载到本地,再上传到服务器

推荐官方下载地址:https://dev.mysql.com/downloads/mysql/
选择系统版本和系统位数下载就可以了

查看当前系统的 glibc 版本

ldd --version

在这里插入图片描述在这里插入图片描述
然后将压缩包通过ftp方式上传到服务器上,可以使用Xftp或者其他的工具。

方式二:直接wget下载(推荐)

在官网上复制下载链接,然后直接使用wget命令下载
在这里插入图片描述![在这里插入图片描述](https://img-blog.csdnimg.cn/20210326080343561.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NTMzOTY4,size_16,color_FFFFFF,t_70
在这里插入图片描述

二、安装mysql到指定目录下


1、解压文件到指定目录下:

tar -xvf  mysql-8.0.23-linux-glibc2.17-x86_64-minimal.tar.xz -C  /data/

2、文件夹重命名:

mv mysql-8.0.23-linux-glibc2.17-x86_64-minimal mysql

3、新建data目录用于存放数据

mkdir -p  /data/mysql/data

4、创建 mysql 用户组和 mysql 用户

groupadd mysql
useradd -g mysql mysql

5、改变mysql目录权限

chown -R mysql.mysql /data/mysql/

6、初始化数据库

  • 如果出现目录不存在,查看是否已经更改了目录权限!!!
  • 需要在mysql根目录下执行!!!
bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data

成功后,系统会生成一个临时的密码,务必要记录下来,下面链接数据库要用到。

7、修改mysql配置 /etc/my.cnf

新建目录

mkdir -p /var/log/mysql/mariadb/

修改my.cnf

[mysqld]
	basedir=/data/mysql 
	datadir=/data/mysql/data
	socket=/data/mysql/mysql.sock
	character-set-server=utf8
	port=3306
	sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
	symbolic-links=0
	
[client]
	socket=/data/mysql/mysql.sock
	default-character-set=utf8

[mysqld_safe]
	log-error=/var/log/mysql/mariadb/mariadb.log
	pid-file=/var/log/mysql/mariadb/mariadb.pid
	log_bin=on
	slow_query_log=1
	slow-query-log-file=/var/log/mysql/mysql-slow.log
	long_query_time=1
如不添加 [client] 开启服务输入密码后将出现下列错误
   Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2)

8、设置开机自启

1、将/support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限,这样就可以使用service mysql命令启动/停止服务

cp /data/mysql/support-files/mysql.server   /etc/init.d/mysql
chmod +x  /etc/init.d/mysql  //添加可执行权限。
chkconfig  --add mysql   // 注册启动服务
chkconfig --list mysql   //查看是否添加成功

在这里插入图片描述

三、开启远程连接

1、启动服务

# 启动
service mysql start;
# 查看启动状态
service mysql status;
# 停止
service mysql stop;

若启动报错

	mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log'

执行以下操作

			mkdir /var/log/mariadb
			touch /var/log/mariadb/mariadb.log
			# 用户组及用户
			chown -R mysql:mysql /var/log/mariadb/
			/data/mysql/support-files/mysql.server start

2、修改密码

mysql -uroot -p      //登录mysql,输入初始化过程中生成的临时密码。

在这里插入图片描述
修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

3、允许远程连接

use mysql
update user set host ='%' where user='root';
FLUSH PRIVILEGES;

四、开启防火墙

firewall-cmd --zone=public --list-ports 查看所有打开的端口
firewall-cmd --zone=public --add-port=80/tcp --permanent    开启一个端口,添加--permanent永久生效,没有此参数重启后失效
firewall-cmd --permanent --add-port=80/tcp  开放端口80
firewall-cmd --permanent --remove-port=80/tcp   移除端口80
firewall-cmd --reload   重启防火墙,修改后重启防火墙生效
firewall-cmd --query-port=6379/tcp 查看端口号是否开启

五、附录

1、未找到命令mysql

若出现未找到命令,做一个软连接到mysql的安装目录下:
ln -s /data/mysql/bin/mysql /usr/bin

2、修改密码不生效、重置密码

  • 设置mysql为无密码启动
修改文件 /etc/my.cnf
	在[mysqld]的段中加上一句:skip-grant-tables保存并退出vi。
  • 重新启动mysqld
	//重启mysql
	service mysqld restart
	//进入mysql
	mysql -u root
	//设置密码: ‘root’@’%’ ‘root’等于user表里的user,’%’ 等于user表里的host
	ALTER USER ‘root’@’%’ IDENTIFIED BY ‘新密码’ PASSWORD EXPIRE NEVER;
	ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愿我于世无忧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值