夺命雷公狗---linux NO:34 linux下的mysql安装与连接

mysql 其实是可以通过  yum install mysql-server   来进行安装的,不过考虑到很多服务器自身带宽的原因,其实用的不是特别的多,看实际情况来定。。。

当然yum  安装出来的可能版本也会较低,如果希望安装出来的新版本的,其实也是可以自行的安装的,通用版本。。

我们使用的版本是  5.7.17

也可以通过搜狐的镜像站点进行下载,如下所示:

在里面看到这么多直接搜索下mysql-5.7.17-linux  这样即可看到如下所示:

上面红色框的就是我们要下载的。。。如果系统是64位的就选择下面那个。。。

然后复制地址,在linux  下使用 wget  让他下载过来,如下所示:

经过漫长的等待终于下载好了:

然后对她进行解压:

这两个是刚解压出来的。。

然后我们进入mysql的官网看看如何安装:

Installing MySQL on Unix/Linux Using Generic Binaries    这里是  linux  的通用二进制版本的意思,选这个即可。。。

然后在这里即可看到他的安装方法了,网上搜索出来的很多方法都是按这个方法而来的。。。。

在手册上很明显的看到我们使用的mysql  要依赖libaio的库。。。

那么我们就先来安装他咯:

和在解压后大致就看到这几个目录:

那么我们解压他出来研究研究。。

官方手册安装的简介,如下所示:

shell> groupadd mysql   #添加一个mysql的组
shell> useradd -r -g mysql -s /bin/false mysql  #添加一个用户属于mysql组  -s /bin/false mysql的意思是不让使用shell环境,防止被别人攻击
shell> cd /usr/local  #进入  /usr/local  这个目录下
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz  #然后解压
shell> ln -s full-path-to-mysql-VERSION-OS mysql   #奖励一个mysql的快捷方式
shell> cd mysql  #到上面位置只是完成了量将是,第一:奖励一个组和用户  第二:解压后然后cd进去。。。
shell> mkdir mysql-files   #创建一个目录名字为:mysql-files
shell> chmod 750 mysql-files   #然后将mysql-files的权限改成750
shell> chown -R mysql .    #将当前的所有者改成mysql
shell> chgrp -R mysql .     #把所有的组改成mysql所有的组
shell> bin/mysql_install_db --user=mysql    # MySQL 5.7.5
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup              # MySQL 5.7.6 and up
shell> chown -R root .
shell> chown -R mysql data mysql-files
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

大致分为:
先添加用户,cd到目录下,然后改变目录的权限和所有者,初始化,初始化完成后再改变一下目录的所有者,最后启动

然后我们开始尝试尝试。。。

但是我们去缺少了一个data目录:

那么我们使用命令  mkdir  data  为他创建一个,如下所示:

现在我们的文件是存放在/usr/local/src/mysql-5.7.17-linux-glibc2.5-i686  下,然后我们按照官方手册的要求,将他移动到  /usr/local/   下,并改名为 mysql  ,他的默认名他长了。。。。。

mv mysql-5.7.17-linux-glibc2.5-i686 /usr/local/mysql

然后进入  /usr/local/mysql  的目录下:

开始按照手册上的来玩咯:

先添加一个mysql的组:

然后创建一个 mysql   用户,并且将他加入mysql的组,而且无权使用shell命令:

然后创建一个名为:mysql-files  的目录:

然后修改mysql-files  750的权限:

然后修改所有者,将当前的目录的所有者改成mysql 所有:

然后将当前目录的组也改成mysql组所有。。。

然后开始初始化mysql:

回车后显示如下所示:

dsXvnrdb4f+Q   这个是临时密码,关键是每次安装他生成的临时密码都是不同的。。。。

因为  mysql  5.7以前安装好了都是空密码的,但是5.7以后他都为我们生成了一个临时密码,所以说每次都一定要保存好这个密码否则就会很郁闷的啦、、、

然后还要再改一次权限:

然后再将  data目录  和mysql-files  目录改成 mysql  用户所有。。

然后正式启动mysql服务了。。。

然后我们来查看下他是否启动成功了:

很遗憾,没成功。。。。。。

那只有唯一的选择了,看日志,找问题,日志的地址在: /var/log/mysqld.log  下..

然后按空格键即可到下一页了。。

创建不了。。。

然后我们进入  /var/run/mysqld/  下看看有木有创建了 mysqld.pid  的文件。。

里面就连   mysqld  这个目录都木有啊。。。

木有这个目录,那么我们人工用个他创建一个不就可以了呗。。。。

但是还是不够的,因为这个mysqld是被mysqld这个进程所使用的。。

这个目录是所属root的,所以他没权操作,我们要将他转让一下即可。。

然后再来查看下即可发现已经成功转让权限了。。

然后再来启动他,如果再错,再去查看日志咯。。。。

./bin/mysqld_safe --user=mysql &

然后再来ps 查看下。。。

不过这次成功了。。。

然后我们进入bin  目录看看。。

我们刚才启动的是他的mysqld  那么我们连接上mysql客户端看看。。

又报了一个错。。

通过/temp/mysql.sock 连接不上服务器。。。

sock类似一个插座,原理图如下所示:

在mysql和mysqld交互的原理图,如上所示。。。

我们可以从报错信息中很清晰的看出问题所在,因为我们色sock他存放到了  /var/lib/mysql/mysql.sock   里面了,而他则去了  /tmp/mysql.sock   寻找了。。

这样的情况下我们可以直接使用连接来决解:

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

方法1:

#ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

然后在走。。。。

虽然还是没连上,但是刚才那个错误已经决解掉了。而且这次报的是密码错误,这证明已经连接上的了,然后我们用密码连接测试一下:

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

方法2:

我们将刚才的连接ln干掉,相当于服务器让步的这步给干掉。。

然后我们让客户端进行让步处理,为了测试,我们还是进行连一下测试下:

又报错了,那么我们我们来查一查相关的帮助:

这里很明显,说客户端是可以通过参数去指定他去那里寻找sock文件的。。

./mysql -S /var/lib/mysql/mysql.sock

又看到了 password:NO    。。。这说明又成功连接上了,只是密码错误而已,那么我们通过如下方法即可连接上了:

这样就OK啦,不过这个临时密码太难记了,可以通过如下方法进行修改:

alter user ‘root‘@‘localhost‘identified by ‘root888‘;

这里的 root888 就是新密码

OK,完成。。。。。。

时间: 2024-10-14 18:04:30

夺命雷公狗---linux NO:34 linux下的mysql安装与连接的相关文章

夺命雷公狗---微信开发02----了解下微信公众平台交互原理和加密和解密原理

我们创建一个core的文件夹,里面创建一个Logger.class.php的文件 <?php /** * 日志输出类 */ class Logger { public static function writeTestLog($msg) { self::printLog('test', $msg); } public static function writeOnlineLog() { } public static function printLog($path, $msg) { $dir =

夺命雷公狗---微信开发01----测试下回访消息

在微信开发的同时记得要看下php是否开启了mcrypt扩展噢 开干,验证后通过index.php进行验证 <?php /** * wechat php test */ //define your token define("TOKEN", "twgdh"); $wechatObj = new wechatCallbackapiTest(); //$wechatObj->valid(); $wechatObj->responseMsg(); clas

夺命雷公狗---CMS---2-使用开源cms的步骤以及安装dedecms

使用开源的CMS的步骤 1.定义模型(定义网站的内容,定义数据内容的字段) 2.创建栏目,(规划网站的栏目,分类,导航,频道) 3.添加具体的数据内容, 4.模板创建,添加标签取出数据 5.生成前台的静态页面. 安装dedecms软件 1.下载解压, 这里面的文件分别是: docs:说明性的文档 uploads:软件的安装程序 便于学习,新建一个虚拟主机, 修改apache的配置文件: 新建完成虚拟主机后,要在c盘的hosts文件里面建立对应的关系: hosts文件的地址:c:/windows/

夺命雷公狗---linux之centos的安装

由于要玩node.js了,所以还是来复习下linux系统才行,所以夺命雷公狗分享两套安装linux的方法,这是centos的安装方法,,, 管理员默认帐号为:root,密码则是刚才您输入的那个...

夺命雷公狗---linux之红帽的安装

夺命雷公狗分享的第二套安装linux方法是RadHad的安装方法,,, 点击然后就自动重启了

2016-08-20--回忆了下当年的夺命雷公狗(一)

今天感觉头有点疼,也许昨晚5点才睡,今天8点多就起床的原因吧.. 早些时候躺在床上休息了一会想起了很多当年在“黑客”圈子里面的回忆.. 那时候大概是在06年左右吧,我第一次感受到黑客给我带来的震撼敢.. 那时候记得小弟还在读初中,那时候在网吧里上网,(未成年...) 那时候记得腾讯里面刚在推广一款网络产品(QQ宠物).. 记得那时候要拿个木锤子砸金蛋,如果运气好点就会砸出一个宠物.. 也许本人比较背,,,,, 连续砸了一个多星期都没砸出..... 但是在某一天看到有人加了我的QQ,他给我来句“您

夺命雷公狗---微信开发23----客服消息接口基础和推送文本

我们这边课程里面一共用到了三个文件,分别是WeChat.class.php和common.php以及index.php 我们在写这个功能之前也要学会查手册,手册我们可以在微信开发这里找到,如下所示: 点击进去后我们将会看到客服接口,我们可以点击下进去看看里面有什么动动 这里有一个发送文本消息的,我们点击进去看下 这里很明显就看到文本消息是通过一个json数据来进行实现的,废话不多说,开工 这里我们先来写一个WeChat.php的文件,这里作用主要适用于封装一个CURL上传类的,代码如下所示: <

夺命雷公狗---微信开发17----自定义菜单的事件推送,响应菜单的CLICK

废话不多说,index.php 代码如下所示: <?php /** * wechat php test */ //define your token require_once "common.php"; define("TOKEN", "twgdh"); $wechatObj = new wechatCallbackapiTest(); //当接入成功后,请注销这句话,否则,会反复验证. //$wechatObj->valid();

夺命雷公狗---微信开发48----获取用户地理位置接口(3)

这节课程我们来做一个游戏,这个游戏的名字叫“寻找美女做老婆”, 用户该游戏后,每隔5s(秒)会收到他距离未来老婆的信息,如果找到美女后,输入“老婆”即可成功. 这次我们涉及到一个车联网API,我们先来看下他在哪,张成什么样. http://lbsyun.baidu.com/index.php?title=car 找到接口说明,里面有一个测距,如下所示: 我们可以看到这就是他的接口 参数说明以及返回的参数如下所示: 很明显他就是返回一个XML或者是json格式的数据,默认返回的是一个XML格式的数