centos7安装并配置mysql
2017-01-04 22:07
477 查看
1. 下载mysql的repo源
2. 安装mysql-community-release-el7-5.noarch.rpm包
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3. 安装mysql
根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。
4. 数据库、用户、权限
登录mysql:
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
然后,重启服务:
创建数据库和用户并赋予权限:
创建用户:
说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器。
例子:
授权:
说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.
例子:
给来自任意远程主机登陆的用户pig授权test数据库user表的查询和插入权限
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123
给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
修改权限生效:
设置与更改用户密码
撤销用户权限
说明: privilege, databasename, tablename - 同授权部分.
例子:
注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%', 则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select
权限.
具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看.
删除用户
查看防火墙状态:
如果提示:iptables.service could not be found,则表示防火墙服务没有安装,接下来安装防火墙服务
执行下列命令:
#先检查是否安装了iptables
service iptables status
#安装iptables
yum install -y iptables
#升级iptables
yum update iptables
#安装iptables-services
yum install iptables-services
设置开机启动:
说明:防火墙测操作命令:
systemctl [stop|start|restart|status] iptables.service
#or
service iptables [stop|start|restart]
[b]5. 开放3306端口
[/b]
添加以下内容(最上面):
![](https://img-blog.csdn.net/20170111143454421?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbnRvdGw=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
保存后重启防火墙:
删除mysql:
yum remove mysql mysql-server mysql-libs compat-mysql51
然后查看是否还有安装的mysql
rpm -qa | grep mysql
如果有,
rpm -e ** 进行删除,删除不掉的 后面加上 --nodeps
查找mysql相关目录
find / -name mysql
如果存在目录,删除
rm -rf *
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2. 安装mysql-community-release-el7-5.noarch.rpm包
$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3. 安装mysql
$ sudo yum install mysql-server
根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。
4. 数据库、用户、权限
登录mysql:
$ mysql -u root
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
$ sudo chown -R openscanner:openscanner /var/lib/mysql
然后,重启服务:
$ systemctl restart mysql.service
创建数据库和用户并赋予权限:
创建用户:
mysql > CREATE USER 'username'@'host' IDENTIFIED BY 'password';
说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器。
例子:
mysql > CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; mysql > CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456'; mysql > CREATE USER 'pig'@'%' IDENTIFIED BY '123456'; mysql > CREATE USER 'pig'@'%' IDENTIFIED BY ''; mysql > CREATE USER 'pig'@'%';
授权:
mysql > GRANT privileges ON databasename.tablename TO 'username'@'host';
说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.
例子:
给来自任意远程主机登陆的用户pig授权test数据库user表的查询和插入权限
mysql > GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123
mysql > grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;
给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123
mysql > grant all privileges on *.* to joe@localhost identified by ‘123′;
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
修改权限生效:
mysql > flush privileges;
设置与更改用户密码
mysql > SET PASSWORD FOR 'root'@'%' = PASSWORD("123456");
撤销用户权限
mysql > REVOKE privilege ON databasename.tablename FROM 'username'@'host';
说明: privilege, databasename, tablename - 同授权部分.
例子:
mysql > REVOKE SELECT ON *.* FROM 'pig'@'%';
注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%', 则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select
权限.
具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看.
删除用户
mysql > DROP USER 'username'@'host';
查看防火墙状态:
$ systemctl status iptables.service
如果提示:iptables.service could not be found,则表示防火墙服务没有安装,接下来安装防火墙服务
执行下列命令:
#先检查是否安装了iptables
service iptables status
#安装iptables
yum install -y iptables
#升级iptables
yum update iptables
#安装iptables-services
yum install iptables-services
设置开机启动:
$ systemctl enable iptables $ service iptables save
说明:防火墙测操作命令:
systemctl [stop|start|restart|status] iptables.service
#or
service iptables [stop|start|restart]
[b]5. 开放3306端口
[/b]
$ sudo vim /etc/sysconfig/iptables
添加以下内容(最上面):
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
保存后重启防火墙:
$ systemctl restart iptables.service
删除mysql:
yum remove mysql mysql-server mysql-libs compat-mysql51
然后查看是否还有安装的mysql
rpm -qa | grep mysql
如果有,
rpm -e ** 进行删除,删除不掉的 后面加上 --nodeps
查找mysql相关目录
find / -name mysql
如果存在目录,删除
rm -rf *
相关文章推荐
- linux 自旋锁
- linux top 命令详解
- Linux下的权限管理
- yum alias
- Linux 同步机制:读写锁
- Linux安装VMware Tools笔记
- Linux常见目录作用
- Linux下配置网卡
- Centos6.8从源码安装Gitlab详细教程
- 第四天(Linux环境配置与搭建和java环境配置)
- 7个月的Linux嵌入式开发心得
- Linux进程通信之信号
- Linux 命令行查看CPU信息
- 区分Linux:eth0,eth1,eth2,lo
- Linux内核移植 part1:arm gcc 编译与链接参数
- 关于linux下安装eclipse后可能出现空格键变短的情况
- linux iostat
- linux学习系列--1.虚拟机安装 centos minimal 配置 ssh ftp
- linux下配置adsl宽带连接
- Linux内核的总结认识