CentOS7下mysql安装整理

1. 下载mysql的repo源


$ 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
3. 安装mysql
$ sudo yum install mysql-serve搜索r
4. 重置密码
重置密码前,首先要登录(刚装完,默认密码为空)
$ mysql -u root
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;
带有密码的启动:mysql -uroot -proot;(用户名和密码都是root)
5.开放3306端口

如果要想远端访问MYSQL数据库,还需要:

(1) 给指定用户赋予远端访问mysql数据库的权限;

(2) 配置防火墙放开对3306端口的限制;

1给指定用户赋予远端访问mysql数据库的权限

授权命令是:

grant 权限1,权限2,…权限n on 数据库名.表名 to用户名@用户地址 identified by‘口令’

[root@bogon 桌面]# mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON *.* TO'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;"

或:mysql>GRANT ALL PRIVILEGES ON *.* TO'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

Warning: Using a password on the commandline interface can be insecure.

用root用户的身份执行grant命令(-e参数表示执行一段sql命令),含义是:把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。如果你只想让位于192.168.1.108机器上面的root用户访问,命令如下:

mysql -uroot -ppassok -e "GRANT ALL PRIVILEGES ON *.* TO'root'@'192.168.1.108' IDENTIFIED BY 'root' WITH GRANT OPTION;"

或:mysql>GRANT ALL PRIVILEGES ON *.* TO'root'@'192.168.1.108' IDENTIFIED BY 'root' WITH GRANT OPTION;

ps:第一个root为用户名,第二个root为密码;

2 配置防火墙放开3306端口的限制

CentOS 7.0版本的防火墙,默认使用的是firewall,与之前的版本使用iptables是不一样,只是firewall处于开启状态,就不可能远端访问MYSQL数据库。

首先将firewall关闭:

[root@bogon 桌面]# systemctl stop firewalld.service #停止firewall

[root@bogon 桌面]# systemctl disable firewalld.service #禁止firewall开机启动

---------------------------------------一下部分由于时间原因,未验证------------------------------------------------

CentOS虽然默认的不是iptables,但是也是已经安装好的,然后我按照网上的方法,为3306端口配置开放规则:

[root@bogon 桌面]# vi /etc/sysconfig/iptables

# sample configuration for iptables service

# you can edit this manually or usesystem-config-firewall

# please do not ask us to add additionalports/services to this default configuration

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --stateRELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-ARH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp--dport 22 -j ACCEPT

-A INPUT -j REJECT --reject-withicmp-host-prohibited

-A FORWARD -j REJECT --reject-withicmp-host-prohibited

COMMIT

 

然后重启防火墙:

[root@bogon 桌面]# service iptables restart

然后立刻用mysql workbench测试,发现还是一样连不上。

 

然后执行下面命令永久关闭iptables:

[root@bogon bin]# chkconfig iptables off

注意:正在将请求转发到“systemctl disable iptables.service”。

然后立刻用mysql workbench测试,发现还是一样连不上。

 

重启CentOS系统,连接成功

\

看来要重启才能生效。

 

进一步测试:

查看firewall状态是关闭的:

[root@bogon bin]# service firewall status

Redirecting to /bin/systemctl status firewall.service

firewall.service

Loaded: not-found (Reason: No such file or directory)

Active: inactive (dead)

 

查看iptables状态也是关闭的:

[root@bogon bin]# service iptables status

Redirecting to /bin/systemctl status iptables.service

iptables.service - IPv4 firewall withiptables

Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled)

Active: inactive (dead)

 

然后我又启动iptables防火墙,还是能够访问,然后把/etc/sysconfig/iptables中的规则全部注释掉之后,还是能够访问,重启还是可以,不知道为什么,查看iptables的状态也是处于激活状态的:

[root@bogonbin]# service iptables status

Redirecting to /bin/systemctl status iptables.service

iptables.service - IPv4 firewall withiptables

Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled)

Active: active (exited) since 日 2015-01-1818:17:07 CST; 20s ago

Process: 14440 ExecStop=/usr/libexec/iptables/iptables.init stop(code=exited, status=0/SUCCESS)

Process: 14648 ExecStart=/usr/libexec/iptables/iptables.init start(code=exited, status=0/SUCCESS)

MainPID: 14648 (code=exited, status=0/SUCCESS)

 

1月 18 18:17:07 bogoniptables.init[14648]: iptables: Applying firewall rules: [ 确定 ]

1月 18 18:17:07 bogonsystemd[1]: Started IPv4 firewall with iptables.

反正永久关闭iptables防火墙是可以的,但是记得要重启。

 

7. 设置mysql开机自启动

设置开机启动服务选择使用chkconfig命令,可以看到我们永久性关闭iptables就用的这个命令,命令的格式如下:

chkconfig 功能说明:检查,设置系统的各种服务。

语法:chkconfig [--add][--del][--list][系统服务]或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

--add 添加服务

--del 删除服务

--list 查看各服务启动状态

 

我这里安装好了mysql之后默认就是开机自启动的:

[root@bogon 桌面]# chkconfig --list mysql

注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。

如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。

欲查看对特定 target 启用的服务请执行

'systemctl list-dependencies [target]'。

mysql 0:关 1:关 2:开 3:开 4:开 5:开 6:关

如果不是开机自启动,使用开启MySQL服务自动开启命令:

chkconfig mysqld on

chkconfig mysql on

 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值