Linux配置LNMP环境(三)配置MySQL

程序
0 400
caixiaoxu
2018-10-30

提示:这篇文章是别人很久前写到,所以版本肯定有偏差。实际上如果没有什么特殊的要求,集成环境还是非常方便快捷的,装逼归装逼,干活归干活


1.执行代码:cd /usr/local/rsc下载MySQL,我是从搜狐镜像上下载的:http://mirrors.sohu.com/mysql/MySQL-5.5/,我下载的是64位(注意)的,下载:wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.55-linux2.6-x86_64.tar.gz。解压tar zxf mysql-5.5.55-linux2.6-x86_64.tar.gz,有两个说明文件INSTALL-BINARY(二进制安装),打开这个里面是如下代码:

You can find information about installing MySQL athttp://dev.mysql.com/doc/refman/5.5/en/installing.htmlThe MySQL Reference Manual is also available in various formats onhttp://dev.mysql.com/doc; if you're interested in the DocBook XMLsources go to http://dev.mysql.com/doc/index-other.html.

它的意思是按照说明在这个网址:http://dev.mysql.com/doc/refman/5.5/en/installing.html ,然后我们进这个网址,发现一个2.2 Installing MySQL on Unix/Linux Using Generic Binaries的链接,点击进去里面就是安装的说明。看不懂英文,用谷歌翻译啊,其实按照安装里面的步骤也就按上了。本教程也是安装官方的说明安装的。

 2.注意中间有这么一句话,是提示你libaio如果没有请安装。安装它的提示执行代码:yum install libaio

shell> yum search libaio # search for infoshell> yum install libaio # install library

再往下就是安装的说明了

注意:第一行为提示1代码,第二行是提示2代码,以此类推,下午将以提示n代码来表述。1.shell> groupadd mysql2.shell> useradd -r -g mysql -s /bin/false mysql3.shell> cd /usr/local4.shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz(注意这里是官方demo的压缩包)5.shell> ln -s full-path-to-mysql-VERSION-OS mysql(给目录做了一个软连接)6.shell> cd mysql7.shell> chown -R mysql .8.shell> chgrp -R mysql .9.shell> scripts/mysql_install_db --user=mysql(安装mysql会有几个默认的库,这个代码就是初始化那些默认库的)10.shell> chown -R root .11.shell> chown -R mysql data12.# Next command is optional(可选)13.shell> cp support-files/my-medium.cnf /etc/my.cnf14.shell> bin/mysqld_safe --user=mysql &(启动MySQL的命令)15.# Next command is optional(可选)16.shell> cp support-files/mysql.server /etc/init.d/mysql.server

注意:接下来咱们按照官方给的一步一步做。

4.执行提示1代码 groupadd mysql。

5.执行提示2代码:useradd -r -g mysql -s /bin/false mysql。

注意看提示3,4,5,6行代码的意思是告诉咱们,要把文件解压到/usr/local,但是咱们把文件解压到了/usr/local/src下面,咱们现在所在的目录还是第一步cd的/usr/local/rsc目录下面,咱们要移动到/usr/local目录下面,提示5代码是只是给目录做了软连接mysql,我这里就不做了,直接把文件名字改成mysql,然后提示6代码是进入这个软连接的目录,也就是咱们改的文件夹名字mysql。

6.执行代码:mv mysql-5.5.55-linux2.6-x86_64 /usr/local/mysql

7.然后进入目录/usr/local,代码:cd /usr/local/mysql

8.执行提示7代码chown -R mysql .

9.执行提示8代码chgrp -R mysql .

10.初始化数据库库执行提示9代码scripts/mysql_install_db --user=mysql

11.启动mysql执行提示14代码./bin/mysqld_safe &然后它提示你有个错误写到了日志/var/log/mysqld.log,查看日志more /var/log/mysqld.log翻到最后有ERROR,错误代码如下

170702 22:32:12 [ERROR] /usr/local/mysql/bin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2)170702 22:32:12 [ERROR] Can't start server: can't create PID file: No such file or directory(不能创建PID文件,没有这个mysqld目录,我们需要自己创建)

12.创建mysqld目录mkdir /var/run/mysqld

13.再启动./bin/mysqld_safe &你发现还是提示你有错误写到日志了。再去看看日志,翻到最后错误代码如下

170702 22:37:41 [ERROR] /usr/local/mysql/bin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 13)170702 22:37:41 [ERROR] Can't start server: can't create PID file: Permission denied(这个文件夹权限被拒,我们改下一下权限)

14.修改权限chown -R mysql /var/run/mysqld 

15.修改权限chgrp -R mysql /var/run/mysqld

16.再启动./bin/mysqld_safe &

17.现在咱们启动客户端./bin/mysql有一个错误提示ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)。意思是连不上mysql.sock。详解:在linux和Unix下面安装mysql会装两个,一个是mysql客户端一个是mysqld服务器。它俩是两个独立的进程,但是它俩需要沟通交换数据,一般都是通过网卡去交换数据,但如果他们都是在本地机localhost,允许用sock文件去交换数据。用sock文件有一个好处就是不用绕网卡了,速度会比走网卡快一点。

18.解决这个问题有两种办法,

第一种:让服务端mysqld满足客户端mysql,ps aux | grep mysql看到mysqld的sock文件放在路径/var/lib/mysql/mysql.sock,我们给客户端mysql设置一个链接,相当于windows下面的快捷方式,代码:ln /var/lib/mysql/mysql.sock /tmp/mysql.sock,然后启动mysql./bin/mysql,恭喜你成功了

第二种:给客户端指定服务端的sock问路径,怎么指定呢。查看帮助:./bin/mysql --help|grep socket这时候你看到是用大-S指定socket路径。我们启动一下试试:./bin/mysql -S /var/lib/mysql/mysql.sock 恭喜你成功了。

提示:默认是没有密码的,如果想改密码请看:修改MySQL数据库密码请戳http://www.cnblogs.com/wangzhaobo/p/7110506.html

转发自:https://www.cnblogs.com/wangzhaobo/p/7109443.html


回帖