MySQL安装过程中出现的问题

页面导航:首页 > 数据库 > Mysql > MySQL安装过程中出现的问题

MySQL安装过程中出现的问题

来源: 作者: 时间:2016-02-17 10:07 【

MySQL安装过程中出现的问题1解压缩MySQL[html] [[email protected] test]# tar -xvf MySQL-5.6.12-2.linux_glibc2.5.i386.rpm-bundle.tar MySQL-test-5.6.12-2.linux_glibc2.5.i386.rpm MySQ...
MySQL安装过程中出现的问题
 
1>解压缩MySQL
 
[html] 
[[email protected] test]# tar -xvf MySQL-5.6.12-2.linux_glibc2.5.i386.rpm-bundle.tar   
  
MySQL-test-5.6.12-2.linux_glibc2.5.i386.rpm  
  
MySQL-shared-5.6.12-2.linux_glibc2.5.i386.rpm  
  
MySQL-embedded-5.6.12-2.linux_glibc2.5.i386.rpm  
  
MySQL-client-5.6.12-2.linux_glibc2.5.i386.rpm  
  
MySQL-devel-5.6.12-2.linux_glibc2.5.i386.rpm  
  
MySQL-server-5.6.12-2.linux_glibc2.5.i386.rpm  
  
MySQL-shared-compat-5.6.12-2.linux_glibc2.5.i386.rpm  
2>安装MySQL 
 
[html] 
(1) 如果已经安装了MySQL,会出现以下提示信息:  
  
[[email protected] test]# rpm -ivh MySQL-server-5.6.12-2.linux_glibc2.5.i386.rpm   
  
Preparing...                ########################################### [100%]  
  
package MySQL-server-5.6.12-2.linux_glibc2.5.i386 is already installed  
  
[[email protected] test]# rpm -ivh MySQL-client-5.6.12-2.linux_glibc2.5.i386.rpm   
  
Preparing...                ########################################### [100%]  
  
package MySQL-client-5.6.12-2.linux_glibc2.5.i386 is already installed  

 

可以先进行卸载MySQL
 
使用命令rpm –e MySQL-server-5.6.12-2.linux_glibc2.5.i386.rpm –nodeps
 
[html] 
rpm –e MySQL-server-5.6.12-2.linux_glibc2.5.i386.rpm --nodeps  

 

 
(2)如果没有提示这些信息,那么会正常安装.
 
[html] 
[[email protected] test]# rpm -ivh MySQL-server-5.6.12-2.linux_glibc2.5.i386.rpm  
  
Preparing...                ########################################### [100%]  
  
1:MySQL-server           ########################################### [100%]  
  
[[email protected] test]# rpm -ivh MySQL-client-5.6.12-2.linux_glibc2.5.i386.rpm   
  
Preparing...                ########################################### [100%]  
  
1:MySQL-client           ########################################### [100%]  

 

 
 
3>启动MySQL
 
(1)首次启动MySQL服务器,出现异常信息的解决办法
 
[html] 
[[email protected] test]# service mysql start  
  
Starting MySQL.......................... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.pid).  

 

 
由于mysql启动的僵死进程,需要将其杀死之后方能启动
 
[html] 
[[email protected] test]# ps -ef | grep mysql  
  
root      1953     1  0 22:18 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/localhost.localdomain.pid  
  
mysql     2171  1953  0 22:18 ?        00:00:04 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/lib/mysql/localhost.localdomain.err --pid-file=/var/lib/mysql/localhost.localdomain.pid  
  
root      3282     1  0 22:37 pts/0    00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/localhost.pid  
  
mysql     3386  3282  2 22:37 pts/0    00:00:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/lib/mysql/localhost.err --pid-file=/var/lib/mysql/localhost.pid  
  
root      3482  2681  0 22:38 pts/0    00:00:00 grep mysql  

 

使用kill -9 2171之类杀死
 
再使用service mysql start或者/etc/init.d/mysql start
 
[html] 
[[email protected] test]# service mysql start  
  
Starting MySQL SUCCESS!  

 

 
 
4>登录MySQL
 
[html] 
[[email protected] test]# mysql -u root -p  
  
Enter password:   
  
Welcome to the MySQL monitor.  Commands end with ; or \g.  
  
Your MySQL connection id is 2  
  
Server version: 5.6.12 MySQL Community Server (GPL)  
  
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.  
  
Oracle is a registered trademark of Oracle Corporation and/or its  
  
affiliates. Other names may be trademarks of their respective  
  
owners.  
  
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.  

 

 
 
第一次登录的密码在~/.mysql_secret中
 
[html] 
cat .mysql_secret  
进入mysql之后需要设置密码,否则不能进行任何操作,如果提示ERROR 1862 (HY000): Your password has expired. To log in you must

change it using a client that supports expired passwords. \

 

 
那么也需要重新设置密码
 
MySQL文档中词条MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS有下面的信息
 
查找SET PASSWORD
 
为root用户设置新密码
 
[html] 
set password for ‘root’@’localhost’=password(‘root’)  

 

之后可以进行正常的操作
 
忘记mysql root密码的解决方法
 
一. MySQL密码的恢复方法之一
 
如果忘记了MySQL的root密码,可以用以下方法重新设置:
 
1. KILL掉系统里的MySQL进程;

[html] 
killall -TERM mysqld  
2. 用以下命令启动MySQL,以不检查权限的方式启动;
[html] 
safe_mysqld --skip-grant-tables &  

3. 然后用空密码方式使用root用户登录 MySQL;
[html] 
mysql -u root  
4. 修改root用户的密码;
[html] 
mysql> update mysql.user set password=PASSWORD('新密码') where User='root';  
  
mysql> flush privileges;  
  
mysql> quit  

 

重新启动MySQL,就可以使用新密码登录了。
 
二. MySQL密码的恢复方法二
 
有可能你的系统没有 safe_mysqld 程序(比如我现在用的 ubuntu操作系统, apt-get安装的mysql) , 下面方法可以恢复
 
1. 停止mysqld; 
 
[html] 
/etc/init.d/mysql stop  

 

 
(您可能有其它的方法,总之停止mysqld的运行就可以了)
 
2. 用以下命令启动MySQL,以不检查权限的方式启动; 
 
[html] 
mysqld --skip-grant-tables &  

 

 
3. 然后用空密码方式使用root用户登录 MySQL;
 
mysql -u root
 
4. 修改root用户的密码;
 
[html] 
mysql> update mysql.user set password=PASSWORD('newpassword') where User='root';  
  
mysql> flush privileges;  
  
mysql> quit  

 

 
重新启动MySQL
 
[html] 
/etc/init.d/mysql restart  

 

 
就可以使用新密码 newpassword 登录了
 
mysql The server quit without updating PID file异常解决办法
 
 
 
安装好mysql后,用
 
Java代码 
 
/usr/local/mysql/bin/mysqld_safe &  
 
 去启动mysql,总是处于僵死状态,后来去suport_files 用mysql.server start 来启动,
 
提示mysql The server quit without updating PID file。在网上找了下,原来说是有mysql
 
启动的僵死进程。
 
用ps -ef |grep mysql   发现有
 
Php代码  

root      4507     1  0 21:40 ?        00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe -

-user=mysql  

mysql     4793  4507  0 21:40 ?        00:00:03 /usr/local/mysql/bin/mysqld --basedir=

/usr/local/mysql.......  

 

 
 于是kill 4793,再启动。就正常了
 
ps:kill root下的进程4507是没
 
Mysql报错的解决'Can't connect to local MySQL server through socket '/tmp/mysql.sock'
 
[[email protected] mysql]# mysql

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)

[[email protected] mysql]# service mysqld restart 这里说明mysqld并没有启动,

MySQL manager or server PID file could not be found!       [FAILED]

Starting MySQL/etc/init.d/mysqld: line 159: kill: (18977) - No such process

                                                           [FAILED]

[[email protected] mysql]# cd bin

[[email protected] bin]# ./mysql

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)        这里就说了不能通过/tmp/mysql.sock连接。

[[email protected] bin]# cd /tmp    进去检查,看到有这个文件,所以看别的原因。

[[email protected] tmp]# ls

gconfd-root  mapping-root  .sock  mysql-test-ports  mysql-test-ports.sem  scim-panel-socket:0-root  VMwareDnD  vmware-root  vmware.txt

[[email protected] tmp]# cd /usr/local/mysql/

[[email protected] mysql]# pwd

/usr/local/mysql

[[email protected] mysql]# chown -R root:mysql .      忽然想起来了没有设置权限呢,开始设置权限

[[email protected] mysql]# ll

total 36

drwxr-xr-x 2 root mysql 4096 Nov 28 21:51 bin

drwxr-xr-x 3 root mysql 4096 Nov 28 21:50 include

drwxr-xr-x 2 root mysql 4096 Nov 28 21:50 info

drwxr-xr-x 3 root mysql 4096 Nov 28 21:50 lib

drwxr-xr-x 2 root mysql 4096 Nov 28 21:51 libexec

drwxr-xr-x 4 root mysql 4096 Nov 28 21:50 man

drwxr-xr-x 8 root mysql 4096 Nov 28 21:51 mysql-test

drwxr-xr-x 3 root mysql 4096 Nov 28 21:50 share

drwxr-xr-x 5 root mysql 4096 Nov 28 21:50 sql-bench

[[email protected] mysql]# chown -R mysql /var/lib/mysql

[[email protected] mysql]# cp share/mysql/my-huge.cnf /etc/my.cnf

[[email protected] mysql]# cp share/mysql/mysql.server /etc/rc.d/init.d/mysqld

[[email protected] mysql]# chmod 755 /etc/rc.d/init.d/mysqld

[[email protected] mysql]# chkconfig --add mysqld

[[email protected] mysql]# chkconfig --level 345 mysqld on

=======error========

[[email protected] mysql]# mysqladmin -u root password 'uplooking'

mysqladmin: connect to server at 'localhost' failed

error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)'

Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!  又是上边一样的错误

[[email protected] mysql]# bin/mysql start

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)

[[email protected] mysql]# /etc/rc.d/init.d/mysqld status

MySQL is not running, but lock exists                      [FAILED] 这里说的是没有运行着mysql,但是还在锁定。这时候我看到了下边那篇文章,重新检查了一遍权限,

[[email protected] mysql]# chown -R mysql:mysql /var/lib/mysql 在这里,我原来设置的时候这个组没有设置,只写了chown -R mysql /var/lib/mysql,分组被我忽略掉了,哎,折腾这么长时间。

[[email protected] mysql]# /etc/rc.d/init.d/mysqld start 从这里,mysql启动正常了

Starting MySQL                                             [  OK  ]

[[email protected] mysql]# /etc/rc.d/init.d/mysqld stop

Shutting down MySQL                                        [  OK  ]

[[email protected] mysql]#

[[email protected] mysql]# mysqladmin -u root password 'uplooking' 这里是说服务器没有启动

mysqladmin: connect to server at 'localhost' failed

error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'

Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

[[email protected] mysql]# /etc/rc.d/init.d/mysqld start 启动服务器

Starting MySQL                                             [  OK  ]

[[email protected] mysql]# mysqladmin -u root password 'uplooking' 添加root密码

[[email protected] mysql]# mysql

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[[email protected] mysql]# mysql -u root -p 用root密码登陆,测试。

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.0.56-Comsenz-log Source

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| test               |

+--------------------+

3 rows in set (0.00 sec)

mysql> quit

Bye

[[email protected] mysql]# service mysqld restart

Shutting down MySQL                                        [  OK  ]

Starting MySQL                                             [  OK  ]

[[email protected] mysql]#

====权限的验证测试====

[[email protected] mysql]# cd /tmp

[[email protected] tmp]# mkdir test

[[email protected] tmp]# cd test

[[email protected] test]# ls

[[email protected] test]# touch 11

[[email protected] test]# ll

total 0

-rw-r--r-- 1 root root 0 Nov 28 22:37 11

[[email protected] test]# chown -R mysql 11

[[email protected] test]# ll

total 0

-rw-r--r-- 1 mysql root 0 Nov 28 22:37 11

[[email protected] test]#

=========================

 

 
Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<