CentOS7下安裝mysql5.1 或升級到5.7 以及小問題的解決方案


 正文開始

1、首先打開終端輸入以下內容下載mysql5.1的repo源(安裝5.7從第二步執行

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 

 

2、下載好rpm包后安裝這個包

rpm -ivh mysql-community-release-el7-5.noarch.rpm  (5.1)

rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm  (5.7)(安裝5.7直接從這部開始即可)

 

3、開始安裝mysql-server  ,中間有選擇的部分之間選擇“y” 就OK了

sudo yum install mysql-server

yum install -y mysql-community-server(5.7)

 

備注:(部分本機登錄不需要密碼)

1、 mysql安裝完成之后,在/var/log/mysqld.log文件中給root生成了一個默認密碼

2、 grep 'temporary password' /var/log/mysqld.log 找到root默認密碼

3、 mysql5.7默認安裝了密碼安全檢查插件(validate_password),默認密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。

否則會提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements錯誤

4、安裝好然后啟動 service mysqld start

5、直接輸入 mysql -uroot -p會報以下錯誤,原因是mysql這個文件的權限問題,如果沒有報錯,則跳過

(ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2))

所以需要把這個文件文件的權限改為當前用戶 

sudo chown -R root /var/lib/mysql

 

 
        

4、然后重啟mysql,直接登錄root賬戶,

關閉:service mysqld stop

啟動:/etc/init.d/mysqld start

或者:service mysqld restart

重啟:service mysqld restart

#設置mysql的本機root密碼,(也可以不設置密碼,默認為空)
$ mysqladmin -u root -h localhost password 'xxxxxxxx'

剛安裝后會在日志中有mysql默認密碼:grep 'temporary password' /var/log/mysqld.log

 

5、修改mysql賬戶遠程root密碼為‘123456’(也可以不設置密碼,默認為空)

use mysql;

update user set password='123456' where user='root';

flush privileges;(刷新數據庫的作用)

 

====================================分割線========================

如果想遠程數據庫則需要開啟,遠程權限和端口

GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456"; (切記在登錄數據庫狀態時輸入其中“root”是賬戶    “123456”是密碼,密碼為空就不輸入內容"")

開啟遠程權限后需要刷新數據庫:flush privileges;

 

再打開數據庫3306端口:
firewall-cmd --add-port 3306/tcp --permanent
firewall-cmd --add-port 3306/udp --permanent
firewall-cmd --reload

關於開啟和關閉mysql

查看mysql在線運行:service mysqld status

關閉mysql:service mysqld stop

啟動mysql:/etc/init.d/mysqld start    或者   service mysqld restart

 

關於修改mysql修改默認引擎具體內容如下:

1、登錄mysql后輸入:show engines 則會給出當前數據庫支持的引擎以及使用的引擎如下圖  InnoDB |DEFAULT 表示是當前使用的引擎

2、在(/etc/my.cnf )文件內找到 [mysqld] 然后換行輸入:

default-storage-engine=INNODB  表示將引擎修改為 lnnoDB 

然后輸入 :service mysqld stop 關閉數據庫

再輸入:service mysqld restart 啟動數據庫  再登錄數據庫后輸入 show engines 查看結果

 

 

 

 小問題:

一,安裝前查看是否已安裝mysql    關於刪除卸載mysql,或其他安裝方式請參考 https://www.jb51.net/article/112356.htm

二,解決Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";:https://blog.csdn.net/hjf161105/article/details/78850658

三,卸載mysql5.1后,再次安裝mysql5.7,mysql5.7無法啟動,由於啟動配置文件一直按照mysql5.1去啟動的,所以無法啟動 友情鏈接https://www.cnblogs.com/vickygu2007/p/5066409.html

如果啟動失敗,提示“MySQL Daemon failed to start”,可以嘗試先初始化mysql,輸入命令:mysqld --initialize。
如果初始化提示:
2015-12-22T07:49:45.386095Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-12-22T07:49:45.388125Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2015-12-22T07:49:45.388153Z 0 [ERROR] Aborting
說明數據文件夾已被創建,直接刪除,讓mysql自己創建即可,輸入命令:
rm -rf /var/lib/mysql
刪除后,注意:然后不需要再初始化了,直接啟動mysql,它會自己初始化,輸入命令:

service mysqld start

 

 徹底卸載mysql和刪除mysql殘留文件

1
2
[root@localhost etc]# rpm -qa | grep mysql // 這個命令就會查看該操作系統上是否已經安裝了mysql數據庫
[root@localhost etc]#  service mysqld stop   //這個命令是停止mysql服務
[root@localhost etc]#  yum remove mysql mysql-*  //這個命令是卸載mysql

 

   有的話,我們就通過 rpm -e 命令 或者 rpm -e --nodeps 命令來卸載掉

1
2
[root@localhost ~]# rpm -e mysql  // 普通刪除模式
[root@localhost ~]# rpm -e  --nodeps mysql  // 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它文件,則用該命令可以對其進行強力刪除

 

查找之前老版本mysql的目錄、並且刪除老版本mysql的文件和庫

1
find / -name mysql

查找結果如下:

1
2
3
4
5
find / -name mysql
 
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql

刪除對應的mysql目錄

1
2
3
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql

注意:卸載后/etc/my.cnf不會刪除,需要進行手工刪除

1
rm -rf /etc/my.cnf

 

4、再次查找機器是否安裝mysql

1
rpm -qa| grep -i mysql


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM