[Linux服務器使用] Linux 安裝mysql數據庫

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

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

     pkill -9 mysqld
     rpm -qa|grep -i mysql
    

    用命令yum -y remove 卸載mysql文件
    卸載不掉的用 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
    

我沒試,這樣裝環境變量配置都不用你管,裝上直接啓動就行。安裝路徑是默認的。

默認配置文件路徑

  • 配置文件:/etc/my.cnf
  • 日誌文件:/var/log/var/log/mysqld.log
  • 服務啓動腳本:/usr/lib/systemd/system/mysqld.service
  • socket文件:/var/run/mysqld/mysqld.pid
  1. 配置my.cnf

     vim /etc/my.cnf
     [mysqld]
     #
     # Remove leading # and set to the amount of RAM for the most important data  
     # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.  
     # innodb_buffer_pool_size = 128M  
     #
     # Remove leading # to turn on a very important data integrity option: logging  
     # changes to the binary log between backups. 
     # log_bin  
     #  
     # Remove leading # to set options mainly useful for reporting servers.  
     # The server defaults are faster for transactions and fast SELECTs.  
     # Adjust sizes as needed, experiment to find the optimal values.  
     # join_buffer_size = 128M  
     # sort_buffer_size = 2M  
     # read_rnd_buffer_size = 2M  
     datadir=/var/lib/mysql  
     socket=/var/lib/mysql/mysql.sock  
     server_id = 1  
     expire_logs_days = 3  
     # Disabling symbolic-links is recommended to prevent assorted security risks  
     symbolic-links=0  
     log-error=/var/log/mysqld.log  
     pid-file=/var/run/mysqld/mysqld.pid  
    
  2. 啓動mysql服務

     service mysqld restart
     //檢查mysql 的運行狀態
     service mysqld status
     systemctl status mysqld.service
     //獲取臨時密碼
     grep 'temporary password' /var/log/mysqld.log
     //使用密碼登錄
     mysql -uroot -p
     //登錄後必須馬上修改密碼,不然會報錯誤1820
     //修改密碼太簡單會報錯1819
     ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
     //解決方案
     //首先,修改validate_password_policy參數的值
     mysql> set global validate_password_policy=0; 
     //再修改密碼的長度
     set global validate_password_length=1;
     //再次執行修改密碼就可以了
     ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
     //授權其他機器登陸
     GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
     //最後記得刷新權限;
     FLUSH  PRIVILEGES;
     //同樣修改的host的方式還有這個更新數據庫
     mysql> update user set host='%' where user='root' and host='localhost'; 
     mysql> flush privileges; 
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章