程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 在CU上整理的MySQL的常見問題及解答

在CU上整理的MySQL的常見問題及解答

編輯:MySQL綜合教程

MySQL是很多人都非常熟悉的小型數據庫管理系統,MySQL數據庫性能不錯,所以贏得了很多用戶的青睐。本文中主要是為大家詳細講解有關在CU上整理的MySQL的常見問題及解答的知識,相信大家通過下文的學習,一定能夠很好的掌握MySQL的知識。

Q: 如何安裝LAMP(Linux+Apache+MySQL+PHP)

A:[url]http://www.freelamp.com/1003235699/index_html[/url]

Q: 如何使用rpm方式安裝mysql

A:首先下載合適的rpm包,例如下載了文件 MySQL-5.0.15-0.i386.rpm

用一下方法安裝:

#rpm -ivhU MySQL-5.0.15-0.i386.rpm

通常情況下,安裝完這個rpm包後,只具備有mysqld服務功能,其它相關的client程序和開發包還需要另外安裝

#rpm -ivhU MySQL-devel-5.0.15-0.i386.rpm

#rpm -ivhU MySQL-client-5.0.15-0.i386.rpm

Q: 如何安裝已經編譯好了的mysql二進制包

A:首先下載合適的二進制包,例如下載了文件 mysql-standard-4.1.13-pc-linux-gnu-i686.tar.gz

#groupadd mysql

#useradd -g mysql mysql

#cd /usr/local

#tar zxf mysql-standard-4.1.13-pc-linux-gnu-i686.tar.gz

#ln -s mysql-standard-4.1.13-pc-linux-gnu-i686 mysql

#cd mysql

#scripts/mysql_install_db --user=mysql

#chgrp -R mysql *

#bin/mysqld_safe --user=mysql &

有什麼個性化的配置,可以通過創建 /etc/my.cnf 或者 /usr/local/mysql/database/my.cnf,增加相關的參數來實現。

Q: 如何自己編譯mysql

A:以redhat linux 9.0為例:

下載文件 mysql-4.1.13.tar.gz

#tar zxf mysql-4.1.13.tar.gz

#cd mysql-4.1.13

#./configure --prefix=/usr/local/mysql --enable-assembler

--with-mysqld-ldflags=-all-static --localstatedir=/usr/local/mysql/data

--with-unix-socket-path=/tmp/mysql.sock --enable-assembler

--with-charset=complex --with-low-memory --with-mit-threads

#make

#make install

#groupadd mysql

#useradd -g mysql mysql

#chgrp -R mysql /usr/local/mysql/

#/usr/local/mysql/bin/mysqld_safe --user=mysql &

有什麼個性化的配置,可以通過創建 /etc/my.cnf 或者 /usr/local/mysql/database/my.cnf,增加相關的參數來實現。

Q: 如何登錄MySQL

A:使用mysql提供的客戶端工具登錄

#PATH_TO_MYSQL/bin/mysql -uuser -ppassword dateabase

Q: 忘記MySQL的root密碼,怎麼修改

A:如果 MySQL 正在運行,首先殺之: killall -TERM mysqld。

啟動 MySQL :PATH_TO_MYSQL/bin/mysqld --skip-grant-tables &

就可以不需要密碼就進入 MySQL 了。

然後就是

mysql>use mysql

mysql>update user set password=password("new_pass") where user="root";

mysql>flush privileges;

重新殺 MySQL ,用正常方法啟動 MySQL

一定注意:很多新手沒有用password=password("..."),而是直接password="..."所以改掉密碼不好使

Q: 為什麼mysqld起來了,卻無法登錄,提示"/var/lib/mysql/mysql.sock"不存在

A:這種情況大多數是因為你的mysql是使用rpm方式安裝的,它會自動尋找 /var/lib/mysql/mysql.sock 這個文件,

通過unix socket登錄mysql。

常見解決辦法如下:

1、

創建/修改文件 /etc/my.cnf,至少增加/修改一行

[mysql]

[client]

socket = /tmp/mysql.sock

#在這裡寫上你的mysql.sock的正確位置,通常不是在 /tmp/ 下就是在 /var/lib/mysql/ 下

2、

指定IP地址,使用tcp方式連接mysql,而不使用本地sock方式

#mysql -h127.0.0.1 -uuser -ppassword

3、

為 mysql.sock 加個連接,比如說實際的mysql.sock在 /tmp/ 下,則

#ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock即可

Q: 如何修改mysql用戶密碼

A:大致有2種方法:

1、

mysql>mysql -uroot -pxxx mysql

mysql>update user set password=password(new_password) where user=user;;

mysql>flush privileges;

2、

格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼

#mysqladmin -uroot -password ab12

注:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了。

Q: 如何新增一個mysql用戶

A:格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by "密碼"

例1、增加一個用戶test1密碼為abc,讓他可以在任何主機上登錄,並對所有數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入MYSQL,然後鍵入以下命令:

mysql>grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";

但例1增加的用戶是十分危險的,你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一台電腦上登錄你的mysql數據庫並對你的數據可以為所欲為了,解決辦法見例2。

例2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,並可以對數據庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL數據庫所在的那台主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數據庫,只能通過MYSQL主機上的web頁來訪問了。

mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";

如果你不想test2有密碼,可以再打一個命令將密碼消掉。

mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by "";

另外,也可以通過直接往user表中插入新紀錄的方式來實現。

Q: 如何查看mysql有什麼數據庫

A:mysql>show databases;

上文中為大家例舉了很多CU上整理的MySQL的常見問題以及解決方案,當然這裡只是為大家總結了一部分,更多的還需要大家在平時的工作中細心發現,最後希望上文中涉及到的內容能夠幫助到大家。


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved