- 更新源
yum update
- 創(chuàng)建用戶并添加到用戶組
groupadd mysql useradd -g mysql -s /sbin/nologin -d /dev/null mysql
- 查找mysql5.7的安裝包(搜狐鏡像站)沸手,找到自己系統(tǒng)相對應的版本外遇,下載,并使用ftp/ssh上傳至服務器契吉。
- 解壓安裝包mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
tar -vxf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
- 將解壓下來的文件包移至/usr/local/mysql目錄下(系統(tǒng)本身沒有mysql目錄跳仿,自己建立)
mkdir /usr/local/mysql
mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql
- 更改權(quán)限
chown -R mysql:mysql mysql
- 先建一些目錄(日志、臨時文件捐晶、數(shù)據(jù)文件目錄菲语、自定義配置文件).
mkdir /usr/local/mysql/data
mkdir /usr/local/mysql/data/mysql
mkdir -p /usr/local/mysql/data/mysql/mysql3306/{logs,tmp,data}
- 將默認配置文件移至自己先建的目錄中(便于備份和修改)
cp /usr/local/mysql/support-files/my-default.cnf /usr/local/mysql/data/mysql/mysql3306/my.cnf
- 修改備份好的配置文件
vi /usr/local/mysql/data/mysql/mysql3306/my.cnf
# 修改
# 指定data目錄
datadir=/usr/local/mysql/data/mysql/mysql3306/data/
# 指定監(jiān)聽端口
port=3306
# 表名忽略大小寫
lower_case_table_names=1
- 初始化mysql,5.7版本的mysql在初始化中會生成隨機密碼惑灵,請自己查看(在初始化完畢之后山上,最后一行會看到)
[root@VM_174_213_centos mysql]# bin/mysqld --defaults-file=/usr/local/mysql/data/mysql/mysql3306/my.cnf --initialize
- 啟動mysql
[root@VM_174_213_centos mysql]# bin/mysqld --defaults-file=/usr/local/mysql/data/mysql/mysql3306/my.cnf --user=root
- 設置root用戶密碼,(命令中的"password"必須要有)
[root@VM_174_213_centos mysql]# ./bin/mysqladmin -uroot -p password
- 將mysql添加到環(huán)境變量
- 編輯/etc/profile,在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下添加如下腳本。
export PATH=$PATH:/usr/local/mysql/bin/
2. 保存并退出profile文件英支,執(zhí)行source /etc/profile佩憾,使其生效。
- 驗證是否安裝成功
mysql -uroot -p
- (*非必要)允許用戶user1從ip為10.0.0.1的主機連接到mysql服務器干花,并使用password作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.0.0.1' IDENTIFIED BY 'password' WITH GRANT OPTION;
- (*非必要)mysql開機自啟動
①. 在/usr/lib/systemd/system目錄下新建mysql.service文件妄帘,添加如下腳本
[Unit]
Description=mysql
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
#LimitNOFILE=max_open_files
PIDFile=/usr/local/mysql/mysql.pid
TimeoutSec=0
PermissionsStartOnly=true
ExecStartPre=/usr/local/mysql/
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3306/my.cnf --user=mysql
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=false
#Nice=nice_level
#LimitCore=core_file_limit
#Environment="LD_PRELOAD=/usr/local/mysql/lib"
Restart=on-failure
RestartPreventExitStatus=1
[Install]
WantedBy=multi-user.target
②. 允許mysql開機啟動
systemctl enable mysql
③. 檢查配置是否成功
systemctl is-enabled mysql
16.(*非必要)mysql開啟慢查詢
/data/mysql/mysql3306/my.cnf中添加如下代碼
# 慢日志
slow_query_log=1
slow_query_log_file=/data/mysql/mysql3306/logs/localhost-slow.log
slow_launch_time=1
參考
How to Install MySQL on CentOS 7:https://www.linode.com/docs/databases/mysql/how-to-install-mysql-on-centos-7