如何在Linux中安装MySQL数据库
最近在阿里云买了一个云服务器,centos7.3。打算把自己写的项目部署进去来玩一玩,熟悉线上部署的流程。部署项目之前肯定要搭建好环境,比如jdk、tomcat、maven、mysql等等的安装。因为之前对linux系统不是很熟练,对其中的原理及各种命令不尽熟悉,所以遇到了许多困难。
说出来大家可能不信,光是装mysql就装了两天 ,装上之后各种报错。不是不能启动mysql,就是启动了mysql service但是由于本地mysql.sock找不到不能连接,反正是心力交瘁。来来回回装了好几遍,找各种原因,各种解决方案,但是不管怎么样,总算是装好了,并且在装的过程中也学到了很多东西。
那我就来说下装成功的过程,希望接下来我的博客能帮助到大家,互相学习。
这篇博客讲述了我安装mysql5.7和5.5的两次过程和经验分享。
一.安装wget.
wget命令用来从指定的URL下载文件,wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。
如果虚拟机中未安装wget,则:
输入命令yum -y install wget
其中:命令后面加上 -y 后,当执行该命令后,出现 需要选择确认或取消的时候,(即选择y/n的时候),自动选择y
二.在MySQL官网下载MySQL仓库
我使用的是阿里云服务器中的centos7.3,这里提供一个仓库链接:
1.Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package.7版本的
2.Red Hat Enterprise Linux 6 / Oracle Linux 6 (Architecture Independent), RPM Package.6版本的
如果想要其他版本,比如Windows、Ubuntu、Macos,也可以去mysql官网进行不同系统不同版本的下载或者复制响应的链接。
可以来到如下页面:
三.开始下载MySQL仓库
进入下载的目标目录(我是下载到/download/目录)
1.使用wget进行下载
使用命令# wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
下载成功后就可以在/download/目录下看到该文件。
2.安装
使用命令# rpm -Uvh mysql80-community-release-el7-1.noarch.rpm
3.接下来就可以正式安装mysql了
默认安装的是8.0版本的,我在这里演示一下5.7版本,如果需要的就是8.0版本可以直接跳过。
修改文件 vim /etc/yum.repos.d/mysql-community.repo
找到这里有一个8.0,有一个人5.7,用哪一个就把它的enabled修改为1,
这里我用的是5.7的,所以把5.7的enabled=1,把8.0的enable。
修改好保存退出
然后执行yum -y install mysql-community-server
进行正式安装。
四.修改mysql的密码
执行完毕上述步骤,MySQL就算安装完成,但是需要尽快在7天之内修改默认密码,mysql初始登录需要修改密码。
1.重置密码的第一步就是跳过MySQL的密码认证过程
方法如下:
#vim /etc/my.cnf(注:windows下修改的是my.ini)
在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)
在[mysqld]后面任意一行skip-grant-tables
用来跳过密码验证的过程,如下图所示:
在这里插入图片描述
保存文档并退出::wq
2.接下来我们需要重启MySQL:
使用如下命令操作mysql:
systemctl start mysqld.service 启动
systemctl stop mysqld.service 停止
systemctl restart mysqld.service 重启
3.重启之后输入mysql
即可进入mysql
4.进行密码重置
虽然已经走到了安装mysql的最后一步,但是因为第一次使用linux系统和在linux系统中安装mysql,所以遇到了很多问题。
1.使用mysql数据库
use mysql;
2.更新user表中的密码
update user set password=password('root') where user='root' and host='localhost';
在使用上述sql语句之后会报错
这是因为在/etc/my.cnf文件中加入了skip-grant-tables
,所以user表删除了password列,若想修改password列的值,要使用authentication_string代替password
即:
update user set authentication_string=password("root") where user='root' and host='localhost';
至此,安装mysql 5.7安装所有步骤全部完成!
#################################################################################################
下面开始讲述mysql 5,5的安装过程
安装过程的前两部都是一样的,首先需要linux系统中安装了wget,并使用wget从mysql官网下载响应的rpm包,进行安装,并且在安装之前都需要检查当前系统是否安装过mysql吗,检查、下载和安装的步骤与mysql 5.7完全相同。
1.下载mysql 5.5
首先去mysql官网下载相应的mysql5.5版本rpm包,我的是centos7.3版本,链接:https://downloads.mysql.com/archives/community/,如下图示:
分别下载相应版本的server和client端,如下:
使用wget进行下载
按照linux规范,第三方软件包放到根目录的/opt下,如下图所示:
2.安装mysql5.5
①检查是否安装过mysql
rpm -qa|grep -i mysql
(其中-qa代表query all)
如果安装过会显示出安装的软件包
②在当前目录(/opt)下安装server端
rpm -ivh MySQL-server-5.5.48-1.el7.x86_64.rpm
其中,-i, --install 安装
-v, --verbose 打印冗长信息(显示指令执行过程)
-h, --hash 安装时列出标记(显示安装进度)
安装完成显示:
在mysql安装完成之后需要按照提示设置最高管理权限root账户的密码。
③在当前目录(/opt)下安装client端
rpm -ivh MySQL-client-5.5.48-1.el7.x86_64.rpm
接下来查看mysql安装是否成功:
此时,表示安装成功,但是还未启动(也可以用mysql --version查看mysql是否安装成功,service mysql status查看mysql状态)。
④启动mysql
service mysql start
⑤修改root用户密码
命令行直接输入mysql,提示登录mysql成功(第一次登录不需要密码)。
在安装server服务端时,安装完成之后显示安装完成,并提示我们按照如下命令去修改数据库root用户密码,如下图所示:
进行密码设置:
之后登录就需要mysql -uroot -p(密码)才能登陆。
⑥配置mysql自启动
配置mysql开机自启动
命令行:
chkconfig mysql on
查看是否已经自启动配置成功:
chkconfig --list | grep mysql
下边的开启和关闭是运行级别。
⑦修改配置文件
mysql因为默认的字符集问题,在insert和select中文的时候,会出现插入不进去或者查询乱码问题,所以进行配置文件修改。
mysql5.5的默认配置文件在/usr/share/mysql下的my-huge.cnf(总控文件),但是为避免之后的集群或者其他原因导致发生错误,将他复制到/etc/my.cnf进行修改。
插入字符集设置包括三处地方(红色):
⑧重启mysql
service mysql restart
**注:**在修改配置文件之后还是不能在修改配置文件之前创建的数据库中查询和插入中文数据,重新建库之后,就不会出现此问题。