下載mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
解壓tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
創(chuàng)建/soft目錄并將軟件移動(dòng)到此文件夾
查看 rpm -qa|grep mariadb
刪除mariadb-lib
yum remove mariadb添加mysql用戶(hù)
useradd -s /sbin/nologin mysql修改環(huán)境變量
vim /etc/profile
export PATH=mysqlbin目錄:$PATH重新加載環(huán)境變量配置文件
source /etc/profile測(cè)試查看 mysql版本
mysql -V創(chuàng)建data目錄
mkdir /data授權(quán)mysql目錄
chown -R mysql.mysql /soft/*創(chuàng)建數(shù)據(jù)目錄
mkdir /data/mysql -p授權(quán)數(shù)據(jù)目錄
chown -R mysql.mysql /data/mysql安裝依賴(lài)包
yum install -y libaio-devel初始化數(shù)據(jù)創(chuàng)建系統(tǒng)數(shù)據(jù)
5.6版本
/application/mysql/scripts/mysql_install_db
5.7版本
mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
--initialize參數(shù)
1對(duì)于密碼要求12位4種
2密碼過(guò)期時(shí)間180
3給root@localhost用戶(hù)設(shè)置臨時(shí)密碼
--initialize-insecure
無(wú)限制
無(wú)臨時(shí)密碼
如果初始化過(guò)要更換需要需刪除data/mysql/data目錄下所有文件
rm -rf /data/mysql/*
重新初始化
mysqld --initialize-insecure --user=mysql --basedir=/soft/mysql --datadir=/data/mysql配置文件準(zhǔn)備
cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/soft/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
EOF啟動(dòng)數(shù)據(jù)庫(kù)
cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
service mysqld restart
制作systemd服務(wù)文件
cat >/etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/soft/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
- 查日志
vim /data/mysql/hostname.err - 進(jìn)程卡死殺進(jìn)程
pkill mysqld - 設(shè)置mysql密碼
mysqladmin -uroot -p password 密碼 - 管理員密碼忘記了
關(guān)閉數(shù)據(jù)庫(kù) /etc/init.d/mysqld stop
進(jìn)入維護(hù)模式 mysqld_safe --skip-grant-tables --skip-networking &
加載授權(quán)表 flush privileges;
修改密碼為1 grant all on. to root@ 'localhost' identified by '1';
查看mysql工作進(jìn)程
show processlist;