Heim > Datenbank > MySQL-Tutorial > MySQL安装过程中出现的问题

MySQL安装过程中出现的问题

WBOY
Freigeben: 2016-06-07 15:34:25
Original
1307 Leute haben es durchsucht

1 解压缩 MySQL [root@localhost 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.rpmMySQL-shared-5.6.12-2.linux_glibc2.5.i386.rpmMySQL-embedded-5.6.12-2.linux_glibc2.5.i386.rpmMySQL-c

1>解压缩MySQL

[root@localhost 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
Nach dem Login kopieren


2>安装MySQL 

(1) 如果已经安装了MySQL,会出现以下提示信息:

[root@localhost 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

[root@localhost 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
Nach dem Login kopieren

可以先进行卸载MySQL

使用命令rpm –e MySQL-server-5.6.12-2.linux_glibc2.5.i386.rpm –nodeps

rpm –e MySQL-server-5.6.12-2.linux_glibc2.5.i386.rpm --nodeps
Nach dem Login kopieren

(2)如果没有提示这些信息,那么会正常安装.

[root@localhost test]# rpm -ivh MySQL-server-5.6.12-2.linux_glibc2.5.i386.rpm

Preparing...                ########################################### [100%]

1:MySQL-server           ########################################### [100%]

[root@localhost test]# rpm -ivh MySQL-client-5.6.12-2.linux_glibc2.5.i386.rpm 

Preparing...                ########################################### [100%]

1:MySQL-client           ########################################### [100%]
Nach dem Login kopieren


3>启动MySQL

(1)首次启动MySQL服务器,出现异常信息的解决办法

[root@localhost test]# service mysql start

Starting MySQL.......................... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.pid).
Nach dem Login kopieren


由于mysql启动的僵死进程,需要将其杀死之后方能启动

[root@localhost 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
Nach dem Login kopieren

使用kill -9 2171之类杀死

再使用service mysql start或者/etc/init.d/mysql start

[root@localhost test]# service mysql start

Starting MySQL SUCCESS!
Nach dem Login kopieren


4>登录MySQL

[root@localhost 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.
Nach dem Login kopieren


第一次登录的密码在~/.mysql_secret

cat .mysql_secret
Nach dem Login kopieren

进入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用户设置新密码

set password for ‘root’@’localhost’=password(‘root’)
Nach dem Login kopieren

之后可以进行正常的操作

忘记mysql root密码的解决方法

. MySQL密码的恢复方法之一

如果忘记了MySQLroot密码,可以用以下方法重新设置:

1. KILL掉系统里的MySQL进程;

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

3. 然后用空密码方式使用root用户登录 MySQL
mysql -u root
Nach dem Login kopieren
4. 修改root用户的密码;
mysql> update mysql.user set password=PASSWORD('新密码') where User='root';

mysql> flush privileges;

mysql> quit
Nach dem Login kopieren

重新启动MySQL,就可以使用新密码登录了。

. MySQL密码的恢复方法二

有可能你的系统没有 safe_mysqld 程序(比如我现在用的 ubuntu操作系统, apt-get安装的mysql) , 下面方法可以恢复

1. 停止mysqld; 

   /etc/init.d/mysql stop
Nach dem Login kopieren


(您可能有其它的方法,总之停止mysqld的运行就可以了)

2. 用以下命令启动MySQL,以不检查权限的方式启动; 

mysqld --skip-grant-tables &
Nach dem Login kopieren


3. 然后用空密码方式使用root用户登录 MySQL

mysql -u root

4. 修改root用户的密码;

mysql> update mysql.user set password=PASSWORD('newpassword') where User='root';

mysql> flush privileges;

mysql> quit
Nach dem Login kopieren


重新启动MySQL

/etc/init.d/mysql restart
Nach dem Login kopieren


就可以使用新密码 newpassword 登录了

mysql The server quit without updating PID file异常解决办法

 

安装好mysql后,用

Java代码    www.2cto.com  

/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   发现有

   www.2cto.com  

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,再启动。就正常了

pskill root下的进程4507是没

Mysql报错的解决'Can't connect to local MySQL server through socket '/tmp/mysql.sock'

[root@localhost mysql]# mysql

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

[root@localhost 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]

[root@localhost mysql]# cd bin

[root@localhost bin]# ./mysql

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

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

[root@localhost tmp]# ls

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

[root@localhost tmp]# cd /usr/local/mysql/

[root@localhost mysql]# pwd

/usr/local/mysql

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

[root@localhost 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

[root@localhost mysql]# chown -R mysql /var/lib/mysql

[root@localhost mysql]# cp share/mysql/my-huge.cnf /etc/my.cnf

[root@localhost mysql]# cp share/mysql/mysql.server /etc/rc.d/init.d/mysqld

[root@localhost mysql]# chmod 755 /etc/rc.d/init.d/mysqld

[root@localhost mysql]# chkconfig --add mysqld

[root@localhost mysql]# chkconfig --level 345 mysqld on

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

[root@localhost 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!  又是上边一样的错误

[root@localhost mysql]# bin/mysql start

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

[root@localhost mysql]# /etc/rc.d/init.d/mysqld status

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

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

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

Starting MySQL                                             [  OK  ]

[root@localhost mysql]# /etc/rc.d/init.d/mysqld stop

Shutting down MySQL                                        [  OK  ]

[root@localhost mysql]#

[root@localhost 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!

[root@localhost mysql]# /etc/rc.d/init.d/mysqld start 启动服务器

Starting MySQL                                             [  OK  ]

[root@localhost mysql]# mysqladmin -u root password 'uplooking' 添加root密码

[root@localhost mysql]# mysql

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

[root@localhost 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

[root@localhost mysql]# service mysqld restart

Shutting down MySQL                                        [  OK  ]

Starting MySQL                                             [  OK  ]

[root@localhost mysql]#

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

[root@localhost mysql]# cd /tmp

[root@localhost tmp]# mkdir test

[root@localhost tmp]# cd test

[root@localhost test]# ls

[root@localhost test]# touch 11

[root@localhost test]# ll

total 0

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

[root@localhost test]# chown -R mysql 11

[root@localhost test]# ll

total 0

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

[root@localhost test]#

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage