夺命雷公狗---linux NO:34 linux下的mysql安装与连接
2017-07-06 01:35
405 查看
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的库。。。
那么我们就先来安装他咯:
和在解压后大致就看到这几个目录:
那么我们解压他出来研究研究。。
官方手册安装的简介,如下所示:
然后我们开始尝试尝试。。。
但是我们去缺少了一个data目录:
那么我们使用命令 mkdir data 为他创建一个,如下所示:
现在我们的文件是存放在/usr/local/src/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的,所以他没权操作,我们要将他转让一下即可。。
然后再来查看下即可发现已经成功转让权限了。。
然后再来启动他,如果再错,再去查看日志咯。。。。
然后再来ps 查看下。。。
不过这次成功了。。。
然后我们进入bin 目录看看。。
我们刚才启动的是他的mysqld 那么我们连接上mysql客户端看看。。
又报了一个错。。
通过/temp/mysql.sock 连接不上服务器。。。
sock类似一个插座,原理图如下所示:
在mysql和mysqld交互的原理图,如上所示。。。
我们可以从报错信息中很清晰的看出问题所在,因为我们色sock他存放到了 /var/lib/mysql/mysql.sock 里面了,而他则去了 /tmp/mysql.sock 寻找了。。
这样的情况下我们可以直接使用连接来决解:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
方法1:
然后在走。。。。
虽然还是没连上,但是刚才那个错误已经决解掉了。而且这次报的是密码错误,这证明已经连接上的了,然后我们用密码连接测试一下:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
方法2:
我们将刚才的连接ln干掉,相当于服务器让步的这步给干掉。。
然后我们让客户端进行让步处理,为了测试,我们还是进行连一下测试下:
又报错了,那么我们我们来查一查相关的帮助:
这里很明显,说客户端是可以通过参数去指定他去那里寻找sock文件的。。
又看到了 password:NO 。。。这说明又成功连接上了,只是密码错误而已,那么我们通过如下方法即可连接上了:
这样就OK啦,不过这个临时密码太难记了,可以通过如下方法进行修改:
这里的 root888 就是新密码
OK,完成。。。。。。
当然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,完成。。。。。。
相关文章推荐
- 夺命雷公狗---linux NO:31 linux下实战安装nginx并启动
- 夺命雷公狗---linux NO:21 linux下的yum安装软件的基本使用
- 夺命雷公狗---linux NO:23 linux下的rpm安装软件
- linux下安装mysql源码包出现configure: error: No curses/termcap library found的解决办法
- DBdesigner在LINUX下的安装以及MYSQL的连接
- mysql在linux及windows上安装及远程连接
- linux上安装mysql 5.7.11完成之后 如何连接
- linux安装mysql yum No package mysql-server available.
- linux下安装mysql在configure过程中出现error: No curses/termcap library found的解决办法
- linux安装mysql以及远程不能连接mysql的解决办法
- linux安装了mysql 但是编译报错 mysql.h: No such file or directory
- Fedora 16 下安装MySql 服务器及linux c 连接MySql
- Linux(Ubuntu) 安装mysql,windows使用Navicat 连接
- linux 安装 mysql Access denied for user root@localhost (using password: NO)
- Linux mysql命令安装允许远程连接
- linux安装mysql和使用c语言操作数据库的方法 c语言连接mysql
- Linux下安装了MySQL之后,无法用navicat连接数据库?
- 【linux】安装mysql出现 no curses错误解决方法
- Linux上安装Mysql并实现远程连接
- 夺命雷公狗---memcache NO:01 环境的安装