centos7安装mysql

一、检查依赖

rpm -qa | grep mariadb
rpm -e --nodeps 软件名
rpm -qa | grep -i mysql
yum search libaio
yum install libaio # install library
find / -name mysql
whereis mysql
rm -rf  find命令和whereis命令查询到的mysql文件
rm /etc/my.cnf

二、安装mysql

mkdir mysql
cd mysql
yum -y install wget
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.34-1.el7.x86_64.rpm-bundle.tar
tar -xvf mysql-8.0.34-1.el7.x86_64.rpm-bundle.tar

右键选择复制链接地址
在这里插入图片描述

在这里插入图片描述
安装顺序如下,否则会出现依赖问题

rpm安装命令
rpm -ivh xxx.rpm
rpm -ivh mysql-community-common-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-test-8.0.34-1.el7.x86_64.rpm
依赖检测失败:pkgconfig(openssl) 被 mysql-community-devel-XX
yum install openssl-devel
错误:依赖检测失败:
	perl(Data::Dumper) 被 mysql-community-test-8.0.34-1.el7.x86_64 需要
	perl(JSON) 被 mysql-community-test-8.0.34-1.el7.x86_64 需要
	perl(Test::More) 被 mysql-community-test-8.0.34-1.el7.x86_64 需要
	
解决办法:
yum install net-tools
yum install -y perl-Module-Install.noarch
yum install perl-JSON
yum install perl-Test-Simple -y

三、mysql使用

1、初始化数据库:mysqld --initialize --console
2、目录授权,否则可能会启动失败:chown -R mysql:mysql /var/lib/mysql/
3、启动mysql:systemctl start mysqld
对应的重启、关闭mysql命令:systemctl stop mysqld;systemctl restart mysqld

4、查询mysql状态:systemctl status mysqld
5、查询mysql的临时密码:cat /var/log/mysqld.log | grep password
6、使用临时密码登录mysql:mysql -u root -p

修改密码:

1、编辑文件:vim /etc/my.cnf 
2、添加代码:skip-grant-tables
3、保存退出,重启mysql服务器:service mysqld restart
4、登录mysql,此时不需要密码的,提示需要输入密码直接回车
mysql -u root -p

5、查看允许访问root的host有哪些
use mysql;   
select user,host from user where user='root';

在这里插入图片描述

alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘密码’;
报错“ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.”
在这里插入图片描述

解决办法:先将密码置空,再修改密码
1、update user set authentication_string='' where user='root';
2、flush privileges;
3、ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '自己设置的密码;
解决ping: www.baidu.com: Name or service not known问题
方法1:
执行vi /etc/sysconfig/network-scripts/ifcfg-ens33,将BOOTPROTO设置为dhcp
重启网卡:systemctl restart network
【但是这样会被自动分配ip】

方法2:
vi /etc/resolv.conf

增加如下内容:
#电信的DNS
nameserver 114.114.114.114 
#googel的DNS
nameserver 8.8.8.8

四、安装MariaDB

yum install mariadb-server

五、配置MariaDB

systemctl start mariadb  # 开启服务
systemctl enable mariadb  # 设置为开机自启动服务
mysql_secure_installation

配置时出现的各个选项
Enter current password for root (enter for none):  # 输入数据库超级管理员root的密码(注意不是系统root的密码),第一次进入还没有设置密码则直接回车
Set root password? [Y/n]  # 设置密码,y
New password:  # 新密码
Re-enter new password:  # 再次输入密码
Remove anonymous users? [Y/n]  # 移除匿名用户, y
Disallow root login remotely? [Y/n]  # 拒绝root远程登录,n,不管y/n,都会拒绝root远程登录
Remove test database and access to it? [Y/n]  # 删除test数据库,y:删除。n:不删除
Reload privilege tables now? [Y/n]  # 重新加载权限表,y。或者重启服务也许
测试是否能够登录成功,出现 MariaDB [(none)]> 就表示能够正常登录使用MariaDB数据库
mysql -u root -p
看MariaDB数据库状态
systemctl status mariadb

进入MariaDB安全模式,并且跳过授权表
mysqld_safe --skip-grant-tables

新建一个ssh连接窗口,进入bash,连接密码库
mysql -uroot -p
不要输入密码,直接回车
Enter password:  

重置数据库密码:update user set password=PASSWORD("admin@1234") where user='root';
刷新权限:flush privileges;
查看MariaDB数据库的进程:ps aux | grep mysql                     
查看MariaDB数据库的端口:ss -tunlp | grep 3306

注意:

当linux(centos7)虚拟机的MySQL8.0服务无法远程连接windows上安装的Navicat软件时,常规的用户名和密码填写设置的数据库用户和密码,ssh填写设置的远程连接linux用户名和密码(常用root),如果是多台虚拟机,检查虚拟机设置中的网络适配器是否仅主机模式,若非主机模式,必须在主机上先安装mysql。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

补充:

依赖检测失败: 
    mariadb-libs 被 mysql-community-libs-8.0.34-1.el7.x86_64 取代
解决方法:
   yum remove mysql-libs

安装完成后启动报错
6618 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS (code=exited, status=1/FAILURE)
在这里插入图片描述
解决方法:
在/var/lib/mysql下新建一个data文件夹(mkdir data),然后vi /etc/my.cnf文件,修改datadir=/var/lib/mysql/data

问题:Your password does not satisfy the current policy requirements
解决方法:运行下面两行命令,第一行让全局验证密码策略失效 ,第二行让全局验证密码长度设置为1

set global validate.password.policy=0;
set global validate.password.length=1;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值