本文主要介绍centOS7下安装mysql和开启mysql远程控制。(如果出现无权限的话请先执行su root获取权限)
1. 我选择的是linux通用版,下载步骤忽略。跳转到放置Mysql的目录,解压,命令如下
tar MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar
解压后会出现多个.rpm结尾的文件。
2. 安装,执行如下命令:
rpm -ivh MySQL-*.rpm
此时会报mariadb冲突,centOS7默认的包是mariadb,mariadb是Mysql的分支(详情请百度),所以会冲突,我们要先卸载冲突的软件包,命令如下:
rpm -e --nodeps mariadb-libs-1:5.5.41-2.el7_0.x86_64 # --nodeps表示同时卸载依赖包
然后再次执行安装
rpm -ivh MySQL-*.rpm
安装完成后开启mysql服务,命令如下:
service mysql start
3. 最新版的MySQL将随机生成一个root用户的密码,放在/root/.mysql_secret 文件中,使用vi打开会看到以下内容
The random password set for the root user at Tue May 12 18:28:46 2015 (local time): toBgzc7Q6jJ8ekOY
其中toBgzc7Q6jJ8ekOY就是root用户的密码了。
4. 修改root密码,执行命令
mysqladmin -u root -p password 新密码; #例如mysqladmin -u root -p password root;
5. 此时就可以登录mysql了
mysql -u root -p
接下来就是开启远程登录了。
6. 首先登录Mysql授权远程登录(mysql里面执行以下语句)
例如:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; # 为root用户开启
防火墙介绍
centOS7使用的防火墙是firewalld
常用命令:
systemctl start firewalld.service#启动firewall
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall开机启动
systemctl status firewalld.service#查看状态
更新防火墙规则:# firewall-cmd --reload
# firewall-cmd --complete-reload
两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务
打开端口
查看所有打开的端口:
firewall-cmd --zone=dmz --list-ports
加入一个端口到区域:
firewall-cmd --zone=dmz --add-port=80/tcp
firewall-cmd --zone=dmz --add-port=21/tcp
firewall-cmd --zone=dmz --add-port=3306/tcp
若要永久生效方法在后面加上--permanent
7. 开启防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
接下来就可以远程登录mysql了。
下面附上firewalld防火墙的配置介绍