之前寫過一個linux安裝centos7過程,感覺寫的不太完善,現在更新一個新版本的
安裝條件
centos7 rpm安裝mysql
參考資料
下載地址
安裝過程
請嚴格按照步驟執行,否則可能入坑
解壓
cd /opt/ tar xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
清除已安裝版本
rpm -qa|grep mysql sudo yum remove mysql-libs rpm -qa|grep mariadb sudo yum remove mariadb-libs
按照以下順序安裝
sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
做如下改動才能更換datadir
chown -R mysql.mysql /var/lib/mysql #臨時關閉SELinux setenforce 0 #永久關閉SELinux vi /etc/selinux/config SELINUX=enforcing改爲disabled
準備目錄以及配置文件
cd /var/lib rm -rf mysql ln -s /opt/mysql/data ./mysql cd ./mysql # 清空data目錄 rm -f * mkdir /opt/mysql mkdir /opt/mysql/data mkdir /opt/mysql/logs mkdir /opt/mysql_bak vi /etc/my.cnf
配置文件以及對應解釋如下
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html [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 # 不要改位置,建立軟連接也算改位置需要關閉SELinux datadir=/var/lib/mysql # Mysql有兩種連接方式: #(1)TCP/IP #(2)socket # 對mysql.sock來說,其作用是 程序與mysqlserver處於同一臺機器,發起本地連接時可用。 socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 max_connections=10000 max_connect_errors=10000 default-time-zone = '+8:00' # 錯誤日誌,不要改位置,否則很麻煩 log-error=/var/log/mysqld.log # MySQL pid 文件記錄的是當前 mysqld 進程的 pid,pid 亦即 Process ID pid-file=/var/run/mysqld/mysqld.pid character-set-server=utf8 [mysql] default-character-set=utf8 [client] default-character-set=utf8
啓動mysql命令(root用戶)
# 啓動mysql sudo systemctl start mysqld.service # 查看mysql狀態 sudo systemctl status mysqld.service # 關閉mysql sudo systemctl stop mysqld.service # 重啓mysql sudo service mysqld restart
設置root密碼
[root@crpt-db data]# grep 'temporary password' /var/log/mysqld.log 2020-12-23T07:41:24.636462Z 1 [Note] A temporary password is generated for root@localhost: i*Ll(hjuw9Ho 2020-12-23T07:43:14.334119Z 1 [Note] A temporary password is generated for root@localhost: qKaLo<duo7l; 2020-12-23T07:46:52.810917Z 1 [Note] A temporary password is generated for root@localhost: :IFry3u<:IXr 2020-12-23T08:11:27.584015Z 1 [Note] A temporary password is generated for root@localhost: *Z.U#ojok9wt 2020-12-23T08:39:16.967025Z 1 [Note] A temporary password is generated for root@localhost: h-N8+Smgsj+f
h-N8+Smgsj+f爲密碼
mysql -uroot -p 輸入密碼即可登錄 alter user root@localhost identified by 'yourpwd'; grant all privileges on *.* to 'root'@'%' identified by 'yourpwd'; flush privileges;