CentOS7默認數據庫是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默認好像是沒有mysql的
-
卸載 先停掉mysql進程 沒有安裝過的可以直接跳過!
pkill -9 mysqld rpm -qa|grep -i mysql
用命令yum -y remove 卸載mysql文件
卸載不掉的用 rpm -ev 卸載
一直卸載到沒有 -
下載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
-
配置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
-
啓動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;