解压权限不允许linux,linux环境下安装mysql,解决远程方式权限限制问题

本文记录了一次在Linux上安装MySQL5.6的过程,包括下载安装包、解压、创建用户组和用户、初始化数据库、配置启动服务以及验证安装。在安装完成后,还涉及到了关闭SELinux和防火墙以允许远程访问,并修改MySQL的用户host为允许所有主机访问。此外,文章提到了安装过程中可能遇到的问题和解决办法。
摘要由CSDN通过智能技术生成

背景

最近更换工作,自己买了个电脑,需要做下基础环境。mysql虽然工作中经常用到,但是工作以来自己安装的次数基本没有,因此本次安装也踩坑了。现在分享一下过程,作为总结。

1.安装包下载

》有网络的环境:

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz (下载到当前目录下)

》离线安装包下载地址

https://dev.mysql.com/

2.解压

tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

将解压后包放到/usr/local/mysql下

cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql

添加用户组和用户

groupadd mysql

useradd -g mysql mysql

3.安装

cd /usr/local/mysql/

mkdir ./data/mysql

chown -R mysql:mysql ./

./scripts/mysql_install_db --user=mysql -- datadir=/usr/local/mysql/data/mysql

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

chmod 755 /etc/init.d/mysqld

cp support-files/my-default.cnf /etc/my.cnf

配置项修改

vi /etc/init.d/mysqld

#修改项:

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data/mysql

4.验证安装成功

启动服务

service mysqld start

查看mysql状态

service mysqld status

查看,默认3306端口是否正常

netstat -lnp|grep 3306

配置软连接使mysql命令可在任何目录下使用

ln -s /usr/local/mysql/bin/mysql /usr/bin

使用mysql命令登录

[root@localhost mysql]# mysql

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| test |

+--------------------+

4 rows in set (0.00 sec)

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> select host,user,password from user;

+-----------------------+------+----------+

| host | user | password |

+-----------------------+------+----------+

| % | root | 123456 |

| localhost.localdomain | root | 123456 |

| 127.0.0.1 | root | 123456 |

| ::1 | root | 123456 |

| localhost | | |

| localhost.localdomain | | |

+-----------------------+------+----------+

6 rows in set (0.00 sec)

至此mysql已经安装成功,但是坑也埋下了

注意关闭linux防火墙 和selinux

查看关闭selinux

查看状态 getenforce

关闭SELinux: 1、临时关闭(不用重启机器): setenforce 0

##设置SELinux 成为permissive模式

##setenforce 1 设置SELinux 成为enforcing模式

2.修改配置文件需要重启机器: 修改/etc/selinux/config 文件 将SELINUX=enforcing改为SELINUX=disabled 重启机器即可

查看关闭防火墙

systemctl status firewalld

systemctl stop firewalld

配置开启mysql自启动

chkconfig --level 345 mysqld on

查看是否正常启动

chkconfig --list mysqld

7fd9e601c09059ced14769ec7ba3909c.png

五 坑描述

知识点:mysql出于安全考虑,会限制远程连接mysql的用户host,通过查看mysql库user表中的host可以知晓哪些是允许的host,

mysql> select host,user,password from user;

+-----------------------+------+----------+

| host | user | password |

+-----------------------+------+----------+

| % | root | 123456 |

| localhost.localdomain | root | 123456 |

| 127.0.0.1 | root | 123456 |

| ::1 | root | 123456 |

| localhost | | |

| localhost.localdomain | | |

+-----------------------+------+----------+

6 rows in set (0.00 sec)

可以看到有哪些host是允许访问的,如所在客户端不允许,可通过在mysql库中执行以下语句

update user set host = '%' where user ='root';

flush privileges;

修改允许访问的host值为“%”,这样就允许所有host访问了。然后刷新使改变生效即可。可能update操作会报错,但是实际已经修改,可使用select语句再次查询。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值