1、查看有沒有安裝過:
yum list installed mysql*
rpm -qa | grep mysql*
2.查看有沒有安裝包:
yum list mysql*
3.安裝mysql客戶端:
yum install mysql
4.安裝mysql 服務器端:
yum install mysql-server
yum install mysql-devel
5、啟動&&停止
數據庫字符集設置
mysql配置文件/etc/my.cnf中加入default-character-set=utf8
啟動mysql服務:
service mysqld start或者/etc/init.d/mysqld start
開機啟動:
chkconfig -add mysqld,查看開機啟動設置是否成功chkconfig --list | grep mysql*
mysqld 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
停止:
service mysqld stop
如果啟動不了,檢查在服務中mysqld服務是否已經打開
6、登錄
創建root管理員:
mysqladmin -u root password 123456
www.2cto.com
登錄:
mysql -u root -p輸入密碼即可。
忘記密碼:
service mysqld stop
mysqld_safe --user=root --skip-grant-tables
mysql -u root
use mysql
update user set password=password("new_pass") where user="root";
flush privileges;
7、遠程訪問
1、修改localhost
更改 "mysql" 數據庫里的 "user" 表里的 "host" 項,從"localhost"改成"%"
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;
2、指定授權
使用myuser/mypassword從任何主機連接到mysql服務器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
使用myuser/mypassword從ip為192.168.225.166的主機連接到mysql服務器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
3、泛授權
mysql -h localhost -u root
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; //賦予任何主機上以root身份訪問數據的權限
mysql>FLUSH PRIVILEGES;
解決Mysql無法遠程連接的問題
1、Mysql的端口是否正確
通過netstat -ntlp 查看端口占用情況,一般情況下端口是3306。在用工具連接MySQl是要用到端口。例如My Admin\My Query Browser\MySQl Front等。
2、檢查用戶權限是否正確
mysql庫的user表里有兩條記錄:host分別為localhost和%(為了安全,%可以換成你需要外部連接的IP)。
3、查看/etc/mysql/my.cnf中,skip-networking 是否已被注掉
需要注掉
報錯:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (111)
sudo gedit /etc/mysql/my.cnf
#skip-external-locking
#bind-address = 127.0.0.1
skip-name-resolve
4、查看iptables是否停掉,沒關的情況下,無法連接
通過:service iptables stop臨時關閉。
報錯:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (113)
8、Linux MySQL的幾個重要目錄
www.2cto.com
數據庫目錄
/var/lib/mysql/
配置文件
/usr/share /mysql(mysql.server命令及配置文件)
相關命令
/usr/bin(mysqladmin mysqldump等命令)
啟動腳本
/etc/rc.d/init.d/(啟動腳本文件mysql的目錄)
卸載mysql
1、查找以前是否裝有mysql
命令:rpm -qa|grep -i mysql
可以看到mysql的兩個包:
mysql-*..*.RHEL**
mysqlclient*.RHEL**
2、刪除mysql
刪除命令:rpm -e --nodeps 包名
( rpm -ev mysql-*.RHEL* )
3、刪除老版本mysql的開發頭文件和庫
命令:rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
注意:卸載后/var/lib/mysql中的數據及/etc/my.cnf不會刪除,如果確定沒用后就手工刪除
rm -f /etc/my.cnf
rm -fr /var/lib/mysql
還有另一種方法
yum方式安裝的mysql
1、yum remove mysql mysql-server mysql-libs compat-mysql51
2、rm -rf /var/lib/mysql
3、rm /etc/my.cnf
查看是否還有mysql軟件:
rpm -qa|grep mysql
如果存在的話,繼續刪除即可。
rpm方式安裝的mysql
a)查看系統中是否以rpm包安裝的mysql:
[root@localhost opt]# rpm -qa | grep -i mysql
MySQL-server-5.6.17-1.el6.i686
MySQL-client-5.6.17-1.el6.i686
b)卸載mysql
[root@localhost local]# rpm -e MySQL-server-5.6.17-1.el6.i686
[root@localhost local]# rpm -e MySQL-client-5.6.17-1.el6.i686
c)刪除mysql服務
[root@localhost local]# chkconfig --list | grep -i mysql
[root@localhost local]# chkconfig --del mysql
d)刪除分散mysql文件夾
[root@localhost local]# whereis mysql 或者 find / -name mysql
mysql: /usr/lib/mysql /usr/share/mysql
清空相關mysql的所有目錄以及文件
rm -rf /usr/lib/mysql
rm -rf /usr/share/mysql
rm -rf /usr/my.cnf
通過以上幾步,mysql應該已經完全卸載干凈了
linux下mysql的卸載、安裝全過程
卸載mysql
1、查找以前是否裝有mysql
命令:rpm -qa|grep -i mysql
可以看到mysql的兩個包:
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
2、刪除mysql
刪除命令:rpm -e --nodeps 包名
( rpm -ev mysql-4.1.12-3.RHEL4.1 )
3、刪除老版本mysql的開發頭文件和庫
命令:rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
注意:卸載后/var/lib/mysql中的數據及/etc/my.cnf不會刪除,如果確定沒用后就手工刪除
rm -f /etc/my.cnf
rm -fr /var/lib/mysql
安裝mysql
安裝前准備:兩個rpm包
MySQL-client-5.1.20-0.glibc23.i386.rpm
MySQL-server-5.1.20-0.glibc23.i386.rpm
1、安裝服務端:
命令:rpm -ivh MySQL-server-5.1.20-0.glibc23.i386.rpm
安裝成功會出現....
warning: MySQL-server-5.1.20-0.glibc23.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing... ########################################### [100%]
1:MySQL-server ########################################### [100%]
080220 13:58:27 [Note] Plugin 'InnoDB' disabled by command line option
080220 13:58:28 [Note] Plugin 'InnoDB' disabled by command line option
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
See the manual for more instructions.
Please report any problems with the /usr/bin/mysqlbug script!
The latest information about MySQL is available on the web at
Support MySQL by buying support/licenses at http://shop.mysql.com
Starting MySQL.[ OK ]
2、安裝客戶端
命令:rpm -ivh MySQL-client-5.1.20-0.glibc23.i386.rpm
成功表現:
[root@localhost ~]# rpm -ivh MySQL-client-5.1.20-0.glibc23.i386.rpm
warning: MySQL-client-5.1.20-0.glibc23.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing... ########################################### [100%]
1:MySQL-client ########################################### [100%]
3、登陸mysql
登陸MySql的命令是mysql,mysql 的使用語法如下:
mysql [-u username] [-h host] [-p[password]] [dbname]
username 與 password 分別是 MySQL 的用戶名與密碼,mysql的初始管理帳號是root,沒有密碼,注意:這個root用戶不是Linux的系統用戶。MySQL默認用戶是root,由於初始沒有密碼,第一次進時只需鍵入mysql即可
[root@localhost ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.20-beta MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
出現了“mysql>”提示符,恭喜你,安裝成功!
增加了密碼后的登錄格式如下:
mysql -u root -p
Enter password: (輸入密碼)
其中-u后跟的是用戶名,-p要求輸入密碼,回車后在輸入密碼處輸入密碼。
注意:這個mysql文件在/usr/bin目錄下,與后面講的啟動文件/etc/init.d/mysql不是一個文件。
補:
通過rpm包安裝、配置及卸載mysql的詳細過程.
以MySQL-server-4.0.14-0.i386.rpm為例,放在/data目錄下
cd /data
rpm -ivh MySQL-server-4.0.14-0.i386.rpm
安裝完成后在/usr/share/mysql目錄中會有一個mysql的啟動腳本mysql.server及示例配置文件等(如my-huge.cnf、my-large.cnf、my-medium.cnf)
拷貝一個示例配置文件作為mysql的配置文件:
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
rpm包安裝完后自動將mysql安裝成系統服務,所以可以使用下面命令啟動、停止mysql
啟動mysql
/etc/init.d/mysql start 或 service mysql start
停止mysql
/etc/init.d/mysql stop 或 service mysql stop
到此,mysql服務就安裝配置完成。
安裝mysql客戶端
rpm -ivh MySQL-client-4.0.14-0.i386.rpm
mysql安裝好后目錄結構如下:
工具程序在/usr/bin目錄中---ls /usr/bin/mysql*
服務器程序/usr/sbin/mysqld
數據目錄/var/lib/mysql
默認情況下mysql將錯誤日志文件、二進制日志文件及進程文件寫在/var/lib/mysql目錄中,如localhost.err、localhost.pid、localhost-bin.001等
要改變這些情況可以修改/etc/my.cnf文件
如將日志文件寫在/var/log目錄中,可以在my.cnf文件中加入下面兩行:
[mysqld_safe]
err-log = /var/log/mysqld.log
有個實用程序/usr/bin/mysql_install_db,該程序可以用來初始化 mysql數據庫,即創建/var/log/mysql目錄,及創建mysql數據庫(mysql授權表等信息)及test數據庫(空庫),如果不小心刪 除了/var/log/mysql目錄可以通過該程序來初始化.
卸載mysql
rpm -qa|grep -i mysql
rpm -ev MySQL-server-4.0.14-0 MySQL-client-4.0.14-0
卸載后/var/lib/mysql中的數據及/etc/my.cnf不會刪除,如果確定沒用后就手工刪除
rm -f /etc/my.cnf
rm -rf /var/lib/mysql
mysql 1130錯誤解決方法:
通過MySQL-Front或mysql administrator連接mysql的時候發生的這個錯誤
ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server
說明所連接的用戶帳號沒有遠程連接的權限,只能在本機(localhost)登錄。
需更改 mysql 數據庫里的 user表里的 host項
把localhost改稱%
具體步驟:登陸到mysql
首先 use mysql;
按照別人提供的方式update的時候,出現錯誤。
mysql> update user set host='%' where user = 'root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
然后查看了下數據庫的host信息如下:
mysql> select host from user where user = 'root';
+-----------------------+
| host |
+-----------------------+
| % |
| 127.0.0.1 |
| localhost.localdomain |
+-----------------------+
3 rows in set (0.00 sec)
host已經有了%這個值,所以直接運行命令:
mysql>flush privileges;
再用mysql administrator連接...成功!!!
tar.gz版本安裝:
版本1:
1。把MYSQL安裝包放置並解壓到/usr/local下
tar zxvf mysql-standard-5.0.27-linux-i686-glibc23.tar.gz
2。為目錄建立符號鏈接
ln -s mysql-standard-4.0.24-pc-linux-gnu-i686 mysql
3。建立MYSQL組和用戶
groupadd mysql
useradd -g mysql mysql
4。改變mysql目錄的所屬用戶和組
chown -R mysql . #注意保證此時的當前目錄是/usr/lcoal/mysql
chgrp -R mysql .
5。以mysql用戶執行配置腳本
su mysql #切換到mysql用戶
cd /usr/local/mysql #注意切換用戶以后,工作目錄已經不是/usr/local/mysql。所以得重新進去
./configure #執行配置腳本
6。進入數據庫,檢查安裝是否成功
/usr/local/mysql/bin/mysql
如果出現mysql的提示符且進入,說明安裝成功!
7。在系統啟動時自動打開mysql服務
su - #切換回root用戶
cd /usr/local/mysql
cp support-files/mysql.server /etc/rc.d/init.d/mysql #把mysql的腳本文件拷到系統的啟動目錄下
cd /etc/rc.d/init.d/
chmod +x mysql #改為可執行文件屬性
chkconfig --add mysql #將mysql加到啟動服務列表里
chkconfig mysql on #讓系統啟動時自動打開mysql服務
重起系統后,執行 /usr/local/mysql/bin/mysql ,如果出現mysql的提示符,說明整個安裝成功
版本2:
mysql-standard-4.0.24-pc-linux-gnu-i686.tar.gz 是mysql4.0.24版本的安裝文件,是一個二進制的壓縮包,所以我們的安裝方式就為二進制分發安裝。
安裝步驟:
1.將 mysql-standard-4.0.24-pc-linux-gnu-i686.tar.gz 拷貝到一個目錄中
2.shell> tar zvxf mysql-standard-4.0.24-pc-linux-gnu-i686.tar.gz
3.上面的命令將在當前目錄下生成一個mysql-standard-4.0.24-pc-linux-gnu-i686文件夾
4.shell>mv mysql-standard-4.0.24-pc-linux-gnu-i686 /usr/local/mysql
5.上面的命令是將mysql-standard-4.0.24-pc-linux-gnu-i686下的所有東東,剪切到/usr/local/mysql 下,進行這一步是為了以后的方便。
6.shell> groupadd mysql 增加一個名為mysql的用戶組
7.shell> useradd -g mysql mysql 在mysql用戶組中加一個名為mysql的用戶
如果上面的兩個命令不能執行,那么要切換到root用戶下執行
shell>su root -
8.shell> cd /usr/local/mysql
9.shell> cp support-files/my-medium.cnf /etc/my.cnf
這時會問是否覆蓋重名文件,回答y
10.shell> scripts/mysql_install_db --user=mysql
以mysql用戶初始化數據庫,必須以mysql用戶
11.shell> chown -R root
注意后面有點,表示將當前目錄下的所有文件與子目錄的擁有者設
定為root用戶
12.shell> chown -R mysql data
表示將當前目錄下的data目錄的擁有者設定為mysql用戶
13.shell> chgrp -R mysql .
注意后面有點,表示將當前目錄下的文件的文件組設為mysql組
14.shell> bin/mysqld_safe --user=root &
此時如果沒有出現“……ended”字樣,大功告成!
15.回車顯示shell>
此時你可以
通過 shell>netstat –atln 命令查看3306端口是否已經啟用
也可以 shell>ps -ef | grep mysqld 查看當前系統中的mysqld的進程
或直接 shell>bin/mysql –u root 進入mysql客戶端,進行mysql操作
或shell>bin/mysqladmin shutdown 停止mysql服務
記住:此時你的root用戶是沒有密碼的,任何身份都可以用root進入,你可以
通過shell> bin /mysqladmin -u root password '新口令'來設定root用戶的口令,此口令將在進入mysql客戶端和停止mysql服務時需要輸入
提示:在啟單個服務的時候,可以通過修改/etc/my.cnf文件來配置
可以用VI編輯器打開my.cnf ,怎么打開呢,看下面
shell>vi my.cnf 打開my.cnf
找到下面這段
[mysqld]
port = 8888
socket = /tmp/mysql.sock
可以在后面加上相應的配置
log = /var/log/mysql.log
datadir = /free/mysqldbf
如 log = /* 改變log的保存位置
datadir = /free/mysqldbf 改變data的保存位置
希望對遇到同樣問題的朋友有點點幫助
常用命令:
啟動 MySQL:
service mysql start
/etc/init.d/mysql start
/usr/share/mysql/mysql.server start
[mysql.server]
# 注釋掉 basedir 行,否則 MySql 可能不能啟動
# 據說是 MySql 的 bug
# basedir=/var/lib
root登錄時,自動啟動mysql:
在 /root/.bash_profile 文件中增加1行:
/usr/share/mysql/mysql.server start
查看啟動日志:
/var/log/messages
顯示MySQL所有用戶:
use mysql;
select host,user,password from user;
添加 MySQL 用戶(user name:user1,password:sql):
grant all on *.* to user1@'%' identified by 'sql' with grant option;
刪除 MySQL 用戶:
delete from user where user='user1';
配置環境變量:
PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:/usr/local/mysql/bin:$PATH