linux下yum安装mysql并设置访问权限
安装mysql
1、linux安装环境为centos 6.7。
使用 cat /etc/issue 查看linux版本。
1、首先先删除mysql的已经安装的相关包
sudo rpm -e --nodeps mysql
如果之前没有安装会提示:error: package mysql is not installed
2、查看mysql的可安装的列表
sudo yum list | grep mysql
3、然后开始安装mysql相关的软件 mysql服务包、mysql开发包
sudo yum install -y mysql-server mysql mysql-devel
4、启动mysql
sudo service mysqld start
5、设置开机启动
sudo chkconfig mysqld on
2、centos7安装
如果你是在使用centos 7的话,yum源中貌似没有正常安装mysql时的mysql-sever文件,需要去官网上下载。
下载步骤:
下载rpm文件
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
安装rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装mysql-community-server
yum install mysql-community-server
成功安装之后启动mysql服务
service mysqld start
3、配置mysql用户密码
1、为root用户设置密码
sudo mysqladmin -u root password 'haha'
2、现在我们就可以使用root账户来登录MySQL数据库,进行管理了
mysql -u root -p 然后输入密码即可登录。
3、查看mysql的配置文件
cat /etc/my.cnf得到:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
可以看到mysql的数据存在了/var/lib/mysql并且此文件的所属人为mysql如图:
4、设置mysql的远程访问
1、首先登录mysql
mysql -u root -p
2、查看mysql的user表
use mysql;
select host,user,password from user;
上面的字段意思分别为:
host:限制登录的客户端ip或者域名。user:mysql的用户,passworld:密码。
我们将此表删除passworld为空的记录,并且将剩余的host改为%,%意思为任意的客户端可以访问。
这时候:任意的客户端都可以通过root和密码来访问此mysql服务。
5、设置mysql的限制访问
1、限制一个ip段
设置host为192.168.1.% 只允许192.168.1.端的访问。
2、允许固定的ip和固定的用户访问
GRANT ALL PRIVILEGES ON *.* TO 'zenith'@'192.168.1.1' IDENTIFIED BY 'haha' WITH GRANT OPTION;
FLUSH PRIVILEGES;
执行后查看:
select host,user,password from user;
如图:
表示这个ip可以以指定的zenith来访问,其余的ip不可以使用zenith用户访问此服务。
配置完毕后别忘了重启mysql服务