mysql是我们常用的几个数据库之一,因为免费,所以常用于互联网项目当中。
在我们一般的互联网项目都会部署到公网服务器,公网服务器一般都是使用的linux,所以这篇文章,记录一下,我的安装和配置经验。
卸载历史安装
首先检查一下你的linux下面有没有安装mysql,使用命令:rpm -qa | grep mysql
如果已经安装,使用以下命令将其卸载:
rpm -e mysql // 普通删除模式
rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
卸载完之后再次检查一下是否卸载成功,还是上面的命令:rpm -qa | grep mysql
,确定已经卸载之后,我们就可以进行接下来的工作了。
yum安装
我是通过yum的方式来进行mysql的数据库安装,首先我们可以输入 yum list | grep mysql
命令来查看yum上提供的mysql数据库可下载的版本:
然后我们可以通过输入 yum install -y mysql-server mysql mysql-devel
命令将mysql mysql-server mysql-devel都安装好(注意:安装mysql时我们并不是安装了mysql客户端就相当于安装好了mysql数据库了,我们还需要安装mysql-server服务端才行)
运行命令,我们发现,yum会帮我们选择好安装mysql数据库所需要的软件以及其它附属的一些软件,当出现下面的结果时,就代表mysql数据库安装成功了。
安装成功后,我们可以输入rpm -qi mysql-server
查看一下刚安装好的mysql-server的版本。
mysql的初始化及其相关配置
启动数据库
我们在安装完mysql数据库以后,会发现会多出一个mysqld的服务,这个就是咱们的数据库服务,我们通过输入 service mysqld start 命令就可以启动我们的mysql服务。
注意:如果我们是第一次启动mysql服务,mysql服务器首先会进行初始化的配置。这时我们会看到很多提示信息,这些信息就是数据库初始化的相关信息,目的就是对数据库进行初始化操作,当我们再次重新启动mysql服务时,就不会提示这么多信息了。
配置开机自启动
因为数据库我们使用的比较频繁,如果每次开机都要去手动启动会很麻烦,所以给mysql配置一个开机自启动非常必要。
我们先通过chkconfig --list | grep mysqld
命令查看一下mysql服务是不是开机自动启动,如:
上面明显不会自启动,所以我们需要执行:chkconfig mysqld on
命令来将其设置成开机启动,这样就不用每次都去手动启动了。
初始化root用户密码
mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码,所以我们需要对root用户的密码进行初始化
mysqladmin -u root password '123456' // 通过该命令给root账号设置密码为 123456
如果这个地方手抖,设置错了密码,可以执行以下命令
mysql -u root mysql
UPDATE user SET password=PASSWORD('123456') WHERE user='root';
flush privileges;//记得要执行这句话,否则如果关闭先前的终端,又出现原来的错误
exit;
配置外部连接
上面的配置完成之后,我们在centos里面已经可以正常使用mysql了,然而我们平时开发的时候,一般使用的是windows,所以我们最好还是配置一个外部连接权限,允许外部的客户端连接到服务器上来。
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
//root 是用户名,% 表示任意主机,'123456' 指定的登录密码(这个和本地的root密码可以设置不同,互不影响)
flush privileges; //重载系统权限
exit;//退出mysql控制台
上面的命令是给外部连接赋权,光赋权,外部客户端还是无法连接,我们还需要将端口3306打开,否则外部连接会被防火墙屏蔽。
使用 vi /etc/sysconfig/iptables
打开防火墙,添加下面命令
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
进行上面配置之后,你windows上面的SQLyogEnt、Navicat等客户端就可以连上来了。