centos mysql客户端(centos 安装ssh)

centos7怎么安装mysql

1、Centos 7默认不支持mysql(都是因为钱),所以centos 7默认支持的是mariadb

何为mariadb?

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

说到这,我个人强烈推荐大家开始学习MariaDB,当然由于我们一些项目还是要用mysql的,所以不能放弃。真不难学。

接下来我讲一下centos 7对mysql的安装过程

1、如果一定要在centos 7上安装mysql,需要卸载MariaDB,否则会冲突。

2、执行这个命令:rpm-qa| grep mariadb

3、这时会出现一些列表,都是mariadb的包,接下来我们要干掉

4、执行如下命令rpm-e–nodeps mariadb-libs-XXXXX.x86_64(注意我这里的xxxx,要根据第三步出现的列表,挨个干)

5、干完后,就可以安装mysql了。

6、去度娘搜索mysql的rpm包,一大把。我用的是5.6.22.(找不到的,问我要)

ww

这里需要安装至少2个,1个是mysql-server-xxxx.rpm(这个就是服务端),还有一个是mysql-client-xxxx.rpm(这个是客户端,不想装?不装的话你没法初始化root密码,求懂)

7、执行 rpm-ivh“上面两个文件名”

8、这样就装好了。

9、然后执行:service mysql start(如果OK,说明装好了)

10、再然后执行:service mysql stop(不要问为什么,因为默认root没有密码,你进不去,所以接下来我们要绕过密码登录)

11、执行这个命令:mysqld_safe–user=mysql–skip-grant-tables–skip-networking& mysql-u root mysql(也就是,老子不用密码直接登录,这时mysql服务必须关闭状态)

12、然后执行这个命令:UPDATE user SET Password=PASSWORD(‘XXXXX’) where USER=’root’;这里就是对root账号初始化密码,xxx自行改,不要忘了。忘掉的话就要用第11步初始化(谁说没有密码就不能进mysql?)

13、然后执行 flush privileges;(注意不要忘记最后的分号,必须有,不要问为什么)

14、然后输入quit;退出mysql客户端。

15、重新启动mysql,命令:service mysql start

16、然后用root账号登录命令:mysql-u root-p(接下来会提示你输入密码,此时屏幕不可见,不要以为死机了)

17、这时随便执行一个sql,譬如 show databases;

18、这时会报错,大约是You must SET PASSWORD before executing this statement.其实就是我们常见的:第一次登录需要改密码,

19、那我们就改一改吧,反正不会怀孕

20、执行 SET PASSWORD= PASSWORD(‘xxxx’);注意分号,也可以把密码跟上面搞得一样。

21、然后再去执行一些sql,看看对不对。对的话quit;

22、最后,我们最好吧mysql重启一下. service mysql restart

23、然后配置远程可以连接(注意刚才我们都是在本机操作的哦~~~~)

24、依然mysql-u root-p输入密码后登入

25、执行:GRANT ALL PRIVILEGES ON*.* TO‘root’@’%’ IDENTIFIED BY‘这里填你的密码’ WITH GRANT OPTION;(这里root@后面的百分号代表全宇宙都可以连接你的mysql,只要知道密码),如果是仅仅允许某个IP连接,那么把这个百分号换成某个ip即可

26、FLUSH PRIVILEGES;并且退出

27、保险起见,再重启mysql服务

好吧,OK了。接下来大家可以用navicate去连接啦

centos系统编译安装nginx+php环境另加独立mysql教程

前端(nginx+php)ip:192.168.10.8

后端(独立mysql)ip:192.168.10.5

软件版本:libiconv-1.14.tar.gz mysql-5.1.63.tar.gz php-5.2.17.tar.gz php-5.2.17-fpm-0.5.14.diff.gz php-5.2.17-max-input-vars.patch

1.先在后端安装mysql

在192.168.10.5上只安装mysql.方法可以去看centos编译安装nginx+php-fpm+mysql里的mysql安装.

2.在前端安装php-fpm nginx和mysql-client

这里只说下安装mysql-client和php的编译安装.

                代码如下   tar zxf mysql-5.1.63.tar.gz cd mysql-5.1.63

./configure--prefix=/usr/local/mysql--without-server           

这里只需要加上--without-server就可以让mysql变成客户端了.

如果出现/bin/rm: cannot remove `libtoolt': No such file or directory,可以去看这篇文章Mysql安装:/bin/rm: cannot remove `libtoolt': No such file or directory.

没有问题后,执行命令:

                代码如下   make make install           

编译php的时候只需要加上--with-mysql=mysql客户端安装目录就可以了.这里我给出编译参数:

                代码如下   ./configure--prefix=/usr/local/php--enable-fastcgi--enable-fpm--with-fpm-log=/var/log/php-fpm.log\

--with-fpm-conf=/etc/php-fpm.conf--with-fpm-pid=/var/run/php-fpm.pid--with-config-file-path=/etc\

--with-config-file-scan-dir=/etc/php.d--with-openssl--with-zlib--enable-bcmath--with-bz2--with-curl\

--enable-ftp--with-gd--enable-gd-native-ttf--with-jpeg-dir--with-png-dir--with-gettext--with-mhash\

--enable-mbstring--with-mcrypt--enable-soap--enable-zip--with-iconv=/usr/local/libiconv\

--with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--without-pear           

nginx的编译没有什么好说的了,我前面centos编译安装nginx+php-fpm+mysql这篇文章里已经有讲过了.

3.进行测试验证

当上面的一切都安装好之后,在后端的mysql里给出远程权限,如下:

                代码如下   GRANT ALL PRIVILEGES ON*.* TO'root'@'%' IDENTIFIED BY'123456';           

然后iptables上只允许192.168.10.8访问mysql端口,其他都拒绝.如:

                代码如下   iptables-A RH-Firewall-1-INPUT-s 192.168.10.8-p tcp-m tcp--dport 3306-j ACCEPT

iptables-A RH-Firewall-1-INPUT-p tcp--dport 3306-j DROP

services iptables save

services iptables restart           

然后在192.168.10.8上进行测试,是否可以远程连上mysql

mysql-h 192.168.10.5-u root-p

如果可以连上,就继续下一步的操作,不能连上的话请检查上面是否有错误的地方.

现在我们加个php页面来测试php是否可以连上mysql,脚本如下:

                代码如下   ?php

$link=mysql_connect("192.168.10.5","root","123456");

if(!$link) echo"bad!";

else echo"ok!";

mysql_close();

?           

成功的话是ok!的输出,失败的话是bad!的输出,我这里是成功的

mysql 5.5.x的只安装客户端.

需要的软件:libiconv-1.14.tar.gz mysql-5.5.25a.tar.gz

1.安装前的准备

安装前的准备,可以去看这篇文章centos编译安装nginx+php-fpm+mysql

2.安装libiconv

                代码如下   ./configure--prefix=/usr/local/libiconv

make make install           

3.只安装mysql客户端

                代码如下   cmake. make mysqlclient libmysql

make install           

这样就只安装了mysql客户端,然后可以输入whereis mysql来查看mysql安装位置.

whereis mysql

好了,可以看到跟yum安装的差不多.

4.安装php

以前mysql是5.1的时候,只需要加上--with-mysql=mysql客户端安装目录就可以了,但在mysql 5.5.x这个参数就要改变下了,下面是php的编译参数:

                代码如下   ./configure--prefix=/usr/local/php--enable-fastcgi--enable-fpm--with-fpm-log=/var/log/php-fpm.log--with-fpm-conf=/etc/php-fpm.conf\

--with-fpm-pid=/var/run/php-fpm.pid--with-config-file-path=/etc--with-config-file-scan-dir=/etc/php.d\

--with-openssl--with-zlib--enable-bcmath--with-bz2--with-curl--enable-ftp\

--with-gd--enable-gd-native-ttf--with-jpeg-dir--with-png-dir--with-gettext--with-mhash\

--enable-mbstring--with-mcrypt--enable-soap--enable-zip--with-iconv=/usr/local/libiconv\

--with-mysql=shared,/usr--with-mysqli=shared,/usr/bin/mysql_config           

大家可以看最后一行,--with-mysql=shared,/usr--with-mysqli=shared,/usr/bin/mysql_config这就是跟以前不同的行.好了,剩下的就不写了

求助centos7,mysql 启动服务出错的问题

一、my.cnf配置文件datadir项配置错误或被启动脚本篡改

这个问题不太说讲,主要是mysql自带的启动文件(/etc/init.d/mysqld)中会自动检测mysql的数据存储目录,若mysql新装,尚未初始化系统表,那么配置文件中的datadir项写不写无所谓,出现这种情况主要是在更改了mysql的数据存储目录,今天我出现的这个问题就在于此。

我的mysql安装后的配置文件中关于datadir项目的配置如下,而该配置文件存储于/etc/my.cnf,今儿不知动了什么东西,查来查去都没找着原因,后来打开该配置文件才发现,其中的datadir项目被篡改成/var/mysql/data了.....

[mysqld] datadir=/data/mysql socket=/tmp/mysql.sock user=mysql

二、进程里已经存在mysql进程

这种情况我很少遇到,若存在mysql进程但有不提供mysql服务(表现为其他客户端连接不上mysql服务器,例如php连接mysql时提示“连接失败”),这个时候就要看看有没有存在的mysql僵尸进程了,命令如下:

ps-ef|grep mysql

若存在,该命令执行后会列出存在的僵尸进程,kill-9 `pid`掉即可。

三、mysql的数据存储目录权限不足

这种情况发生于mysql第一次安装或升级,配置文件中的datatdir目录的权限要设定好,一般来说运行mysql的用户以及组就是mysql.mysql,那么解决权限不足问题的方法如下:

chown-R mysql.mysql/data/mysql##该命令仅为示例,其中/data/mysql就是mysql配置文件中datadir的目录##若为空,则默认为mysql安装目录下的data文件夹下

四、覆盖安装或升级mysql后,残余数据的影响

这种情况发生于mysql被覆盖安装或升级后,当然mysql无故宕机后也会有这种情况,可能会影响mysql启动的数据文件,一般存在于mysql的数据存储目录(这个目录依据my.cnf配置文件中的datadir而异),也就是存在于mysql数据存储目录下的mysql-bin.index文件,删除之即可。

五、selinux的问题,centos下最容易出现

selinux不甚了解,直接关掉。

##方法1:永久关闭seliux##修改 vi/etc/selinux/config#文件中设置SELINUX=disabled,然后重启服务器##方法2:暂时关闭seliux setenforce 0##如需每次开机都铃声关闭seliux,则可以在/etc/rc.d/rc.local文件中添加该命令

六、mysql运行状态下删除binary日志后重启失败

这是今天在群里的一个朋友出现的,特汇总于此;当mysql开启了二进制日志并且mysql在运行状态下用rm命令删除过mysql的binary日志文件的话,下次重启mysql你就悲剧了。

什么是binary日志?说白了就是mysql的数据目录下的mysql-bin.000001、mysql-bin.000002的文件。

解决方法就是修改配置文件临时关闭binary-log,然后删除mysql数据目录下的所有类似mysql-bin.000001、mysql-bin.000002的文件后再次重启,mysql即可启动成功。

#mysql配置关闭二进制日志找到如下语句注释掉即可#log-bin=mysql-bin#binlog_format=mixed

此步骤操作完毕之后,若还需要启用二进制日志,那么就要先停掉mysql服务,然后修改msyql的配置文件,再次重启即可。

另外再附上正确删除mysql二进制日志文件的方法(绝对不是rm-rf命令直接删这些文件):

#第一步通过shell或cmd登录进mysql这步没什么好说的 msyql-u root-p***#第二步在mysql下直接执行清理binary日志命令 mysql> reset master#注意:此处仅针对单台mysql而言,若有互备mysql则执行该命令有风险。

阅读剩余
THE END