rpm -qa | grep mysql #查看已經安裝的mysql rpm -e mysql #普通刪除模式 rpm -e --nodeps mysql #強力刪除模式
yum -y remove mysql-libs-5.1.66*
vi /etc/yum.repos.d/local.repo
加入以下一段內容:mysql
[localrepo] name = myLocalYumRepo baseurl = /home/rhel/Downloads/MySQL-5.5.58-l.el6-rpm gpgcheck = 0 enable = 1
其中 baseurl
指向了個人 MySQL rpm 包所在路徑。sql
配置好 local_yum_repo
以後,cd
進入baseurl
所在目錄,就能夠安裝下面三個:shell
yum install MySQL-server-5.5.58-1.el6.x86_64.rpm yum install MySQL-client-5.5.58-1.el6.x86_64.rpm yum install MySQL-devel-5.5.58-1.el6.x86_64.rpm
先用命令查看一下,有哪些已經安裝的 mysql 程序:數據庫
rpm -qa|grep -i mysql
使用 rpm 方式安裝的採用下面的命令卸載:vim
rpm -ev MySQL-client-5.5.58-1.el6.x86_64 --nodeps rpm -ev MySQL-devel-5.5.58-1.el6.x86_64 --nodeps rpm -ev MySQL-server-5.5.58-1.el6.x86_64 --nodeps
查找原有的 mysql 目錄:socket
find / -name mysql
找到以下內容,一 一 刪除:tcp
rm -rf /usr/lib64/mysql rm -rf /var/lib/mysql rm -rf /var/lib/mysql/data/mysql rm -rf /var/lib/mysql/mysql
手動刪除 /etc/my.cnf
ide
rm -rf /etc/my.cnf
最後再檢查一下時候還有安裝 的 mysql:ui
rpm -qa|grep -i mysql
沒有顯示的話,就說明已經卸載完畢。
安裝後 MySQL主要的默認存放文件目錄:
/usr/bin #這裏存放腳本和客戶端程序 /var/lib/mysql #mysql的數據存儲目錄 /usr/share/mysql #mysql存放的初始化相關腳本
編輯:vi /etc/my.cnf
# The MySQL Client [client] #客戶端默認鏈接字集集,若編譯安裝時已指定則不用填寫 #character-set-server = utf8 #客戶端鏈接通訊端口 port = 3306 #客戶端通訊的用戶密碼端口等信息保存文件 socket = /var/lib/mysql/mysql.sock default-character-set=utf8 # The MySQL server [mysqld] #mysql服務端監聽端口 port = 3306 #mysql數據庫存放目錄 datadir = /var/lib/mysql/data socket = /var/lib/mysql/mysql.sock #服務端pid進程文件,若丟失則重啓Mysql從新生成,若重啓失敗, #則可能因爲mysqld進程未殺死,用pkill mysql後則能重啓成功Mysql #pid-file =/opt/mysql/data/myDBserver.pid bind-address = 0.0.0.0 [mysql] socket = /var/lib/mysql/mysql.sock
使用默認路徑:
/usr/bin/mysql_install_db --user=mysql
chown -R mysql /var/lib/mysql/ chgrp -R mysql /var/lib/mysql/
啓動 MySQL 服務:
#/etc/init.d/mysqld start # rhel 沒有這個命令 /etc/init.d/mysql start
中止 MySQL 服務:
/etc/init.d/mysql stop
(1)方式 1:
先使用命令:mysql
進入 MySQL
執行 SQL 語句更新 root 密碼
update mysql.user set password=PASSWORD('Cs123456') where user='root';
刷新一下權限,就能夠了。
flush privileges;
(2)方式 2:
修改 root 用戶密碼的另外一種方式,執行 shell 命令:
mysqladmin -u root password Cs123456
mysql [-u username] [-h host] [-p[password]] [dbname]
例如:
mysql -u root -pCs123456 -h localhost
mysql -uroot -p'Cs123456' GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
若是不想給 root 受權遠程鏈接,咱們能夠新建一個用戶專門用做遠程鏈接使用,好比 」test「:
create user test identified by 'Cs123456'; grant all privileges on *.* to 'test'@'%'identified by 'Cs123456' with grant option; flush privileges;
@'%'
的意思是對全部的 IP 地址開放。
修改用戶密碼可使用下面的語句:
update mysql.user set password=password('新密碼') where User="test" and Host="localhost"; flush privileges;
刪除用戶:
delete from user where User='test' and Host='localhost'; flush privileges;
vi /etc/my.cnf
將 bind-address = 127.0.0.1
,設置成 bind-address = 0.0.0.0
緣由:MySQL 進程卡死。
解決方法:
1.殺死mysql進程:killall mysqld 2.重啓mysql:service mysql start
緣由:多是 mysql.sock
文件的位置不正確
解決方法:
一、先找到 mysql.sock
的位置:
lsof -c mysqld|grep sock$
找到了這個路徑:/var/lib/mysql/mysql.sock
二、vi /etc/my.cnf
配置 [mysqld]
[mysql]
和 [client]
,將 socket 的路徑改爲上面查出來的路徑。
可能緣由:上一次 MySQL 非正常關閉
解決方法:建立一個 myDBserver.pid 空文件,而且隨便設置一個進程中沒有的 pid
vi /var/lib/mysql/data/myDBserver.pid 23432
而後重啓 MySQL 服務,若是沒有其餘的緣由的話,就能夠正常啓動了。
兩種狀況會致使這個問題:
(1)root 密碼輸入錯誤
(2)在 mysql 服務端沒有開放 root 對外遠程鏈接的受權。解決方法可參考(1.)
先查看一下 防火牆開放的端口:
iptables -nL --line-number
顯示DROP表明防火牆阻止了3306端口。
更改 防火牆,放開 3306 端口:
vim /etc/sysconfig/iptables
在 COMMIT 上一行加入以下內容:
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
重啓防火牆:
service iptables restart
查看 3306 是否變爲 ACCEPT
,若是是就表示已經開放端口啦。