centos7 rpm安裝mysql(自定義datadir)

之前寫過一個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;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章