1 上傳鏡像,配置好yum源
2 下載MySQL相關的包 https://dev.mysql.com/downloads/mysql/
3 解壓安裝:
tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz #解壓
sudo mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql #剪切到定制的安裝目錄
4 創建數據存放目錄,並對目錄指定用戶和用戶組
mkdir /data/mysql
sudo groupadd mysql
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql #禁止mysql用戶shell登陸
指定用戶和用戶組:
sudo chown mysql:mysql /usr/local/mysql/ -R #修改安裝目錄的用戶和用戶組
sudo chown -R mysql:mysql /data/mysql/ #修改數據目錄的用戶和用戶組
5 MySQL初始化
cd /usr/local/mysql/
sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql # 注意初始化命令執行后會生成一個臨時root密碼
sudo bin/mysql_ssl_rsa_setup --datadir=/data/mysql #生成密鑰對
6 將MySQL服務添加到系統服務中
sudo cp support-files/mysql.server /etc/init.d/mysqld -r
vim /etc/init.d/mysqld #修改配置文件中,指定數據目錄和安裝目錄
datadir=/data/mysql
basedir=/usr/local/mysql
7 配置環境變量,使用命令
sudo vim /etc/profile #文件末尾追加以下內容
#set MySQL
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/sbin
source /etc/profile
8 啟動MySQL服務,先刪除配置文件
sudo rm -rf /etc/my.cnf
sudo /etc/init.d/mysqld start
#使用臨時密碼登陸數據庫
mysql -uroot -p
登陸之后立即修改數據庫的密碼:
mysql> set password=password('root');
授權用戶登陸:
mysql>grant all privileges on *.* to 'root'@'%' identified by 'root';
刷新權限表,讓修改生效:
mysql>flush privileges;
9 配置MySQL配置文件 /etc/my.cnf
先停止服務:
/etc/init.d/mysqld stop
在修改配置文件:
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
basedir=/usr/local/mysql
user=mysql
socket=/var/lib/mysql/mysql.sock
## Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
## instructions in http://fedoraproject.org/wiki/Systemd
#[mysqld_safe]
log-error=/var/log/mysql/mysql.log
pid-file=/var/run/mysql/mysql.pid
10 創建配置文件中不存在的目錄,並指定用戶和用戶組為mysql
sudo mkdir /var/lib/mysql #套接字目錄
sudo chown mysql:mysql /var/lib/mysql -R
sudo mkdir /var/run/mysql # 進程文件存放目錄
sudo chown mysql:mysql /var/run/mysql -R
sudo mkdir /var/log/mysql # 錯誤日志存放目錄
sudo chown mysql:mysql /var/log/mysql -R
重啟服務器:
sudo /etc/init.d/mysqld restart
使用剛剛修改的密碼登陸數據庫:
mysql -uroot -p
報錯顯示找不到套接字文件,做一個軟連接
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
再次登陸成功
mysql -uroot -p
登陸,可以成功查看
11 設置MySQL服務為開機自啟動
chkconfig mysqld on
chkconfig --list |grep mysqld
報錯:
1 啟動時報進程id存在,但服務又沒有啟動
注意查看配置文件中的各個目錄是否存在,且權限是否給到位
2 使用mysql -uroot -p登陸數據庫時,報錯顯示找不到套接字/tmp/mysql.sock
解決辦法:做一個軟連接 源文件為MySQL配置文件中指定的套接字的文件 目標文件為/tmp/mysql.sock
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock