CentOS安裝MySQL,(常規安裝方式MySQL無法遠程連接)


轉載自:https://blog.csdn.net/z13615480737/article/details/78906598

 

CentOS7默認數據庫是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默認好像是沒有mysql的。

上一篇安裝的是5.6的但是我想安裝5.7的  yum安裝是最簡單的 嘗試過編譯安裝各種問題,最后就決定用yum。

1.卸載  先停掉mysql進程   沒有安裝過的可以直接跳過

        pkill -9 mysqld

        

       rpm -qa|grep -i mysql

             

      用命令 yum -y remove

      yum -y remove mysql-community-client-5.6.38-2.el7.x86_64

      卸載不掉的用 rpm -ev 

      依次卸載 直到沒有

      

2.下載mysql的repo源 這個安裝的mysql5.7.20

   [root@localhost ~]# cd /usr/local/src/
   [root@localhost src]# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm 

   [root@localhost src]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm 

   [root@localhost src]#  yum -y install mysql-server 

也可以指定安裝目錄     yum --installroot=/usr/local/mysql --releasever=/ -y install mysql-server  )我沒試,這樣裝環境變量配置都不用你管,裝上直接啟動就行。安裝路徑是默認的。

     

   一路 y 



根據步驟安裝就可以了,

默認配置文件路徑: 
配置文件:/etc/my.cnf 
日志文件:/var/log/var/log/mysqld.log 
服務啟動腳本:/usr/lib/systemd/system/mysqld.service 
socket文件:/var/run/mysqld/mysqld.pid

 

  配置  my.cnf        vim /etc/my.cnf

  1. [mysqld]  
  2. #  
  3. # Remove leading # and set to the amount of RAM for the most important data  
  4. # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.  
  5. # innodb_buffer_pool_size = 128M  
  6. #  
  7. # Remove leading # to turn on a very important data integrity option: logging  
  8. # changes to the binary log between backups.  
  9. # log_bin  
  10. #  
  11. # Remove leading # to set options mainly useful for reporting servers.  
  12. # The server defaults are faster for transactions and fast SELECTs.  
  13. # Adjust sizes as needed, experiment to find the optimal values.  
  14. # join_buffer_size = 128M  
  15. # sort_buffer_size = 2M  
  16. # read_rnd_buffer_size = 2M  
  17. datadir=/var/lib/mysql  
  18. socket=/var/lib/mysql/mysql.sock  
  19. server_id = 1  
  20. expire_logs_days = 3  
  21.   
  22. # Disabling symbolic-links is recommended to prevent assorted security risks  
  23. symbolic-links=0  
  24.   
  25. log-error=/var/log/mysqld.log  
  26. pid-file=/var/run/mysqld/mysqld.pid  

不過安裝完成后,密碼為隨機密碼,需要重置密碼。

 

4.  啟動mysql服務

service mysqld restart

 重置密碼

    [root@localhost ~]# grep "password" /var/log/mysqld.log    

   

    可以看到  輸入 mysql -u root -p   密碼 進入      第一次登陸 ,需要重置密碼 要不什么也不能操作 

        

       接下來重置密碼:5.7.20 為了安全密碼           必須包含 數字字母符號

      踩過的坑啊,設置了好幾次。還有這ip不能是% 不知道為什么  反正第一次設置成%沒成功  登上去之后再改就可以改了。

       把密碼改簡單的方法 http://blog.csdn.net/z13615480737/article/details/78907697

      alter user 'root'@'localhost' identified by 'Root!!2018';  

     最后記得刷新權限;

     flush privileges 

    也可以 直接再添加新用戶     

    CREATE USER ‘root‘@‘%‘ IDENTIFIED BY ‘您的密碼‘;

    grant all on *.* to 'root001'@'%' identified by 'Root@@'  with grant option;

   增加root用戶指定可以任意IP登錄,如果想限制只能讓指定IP登錄請把%替換成IP地址

 

   問題1:如果發現找不到密碼!!!!!

   解決:只能通過忘記密碼的方式修改密碼!!! 在安裝的過程中發現找不到密碼???折騰了好長時間 通過修改密碼找回之后發現、原來之前安裝的數據庫在了,就沒有生產新的數據庫!!用的還是之前的配置。

看mysql啟動了沒?初始化數據庫了沒?  一般直接啟動 數據庫 就可以 用grep "password" /var/log/mysqld.log    看到隨機密碼了

修改MySQL的登錄設置:
#vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables 保存並且退出vi。
重新啟動mysqld
 

問題2:遠程無法登陸
#使用mysql默認管理數據庫 use mysql; #查看用戶和ip信息,能查看到一個用戶的列表 select user , password, host from user; #將帶有%的用戶刪掉並刷新用戶權限 delete from user where user='自己寫' and host='%';
設置root可以登錄
update user set host = '%' where user = 'root'; #刷新用戶權限 flush privileges;


 


免責聲明!

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



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