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

背景
最近更换工作,自己买了个电脑,需要做下基础环境。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

在这里插入图片描述

五 坑描述
知识点: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语句再次查询。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值