安裝
https://downloads.mysql.com/archives/community/
選擇版本
創(chuàng)建軟件目錄
[root@VM-4-7-centos data]# mkdir /data/app
解壓并改名
[root@VM-4-7-centos app]# tar -xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
[root@VM-4-7-centos app]# mv mysql-5.7.20-linux-glibc2.12-x86_64
[root@VM-4-7-centos app]# ll
total 626112
drwxr-xr-x 9 root root 4096 Jan 19 10:27 mysql
-rw-r--r-- 1 root root 641127384 Jan 19 10:25 mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
設(shè)置環(huán)境變量
[root@VM-4-7-centos app]# vim /etc/profile
export PATH=/app/mysql/bin:$PATH
[root@VM-4-7-centos app]# source /etc/profile
創(chuàng)建用戶(hù)名并創(chuàng)建數(shù)據(jù)目錄并且授權(quán)
[root@VM-4-7-centos app]# useradd mysql
[root@VM-4-7-centos app]# mkdir /data/mysql -p
[root@VM-4-7-centos app]# chown -R mysql.mysql /data/app/*
[root@VM-4-7-centos app]# chown -R mysql.mysql /data/mysql
初始化數(shù)據(jù)庫(kù)
#方案 一 不使用管理員臨時(shí)密碼
--user 指定用戶(hù)
--basedir 軟件目錄
--datadir 數(shù)據(jù)目錄
--initialize-insecure 不適用初始密碼
mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/mysql
#方案二
初始化數(shù)據(jù),初始化管理員的臨時(shí)密碼
mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/data/mysql
初始化成功沒(méi)有error
新特性重要說(shuō)明:
5.7開(kāi)始,MySQL加入了全新的 密碼的安全機(jī)制:
1.初始化完成后,會(huì)生成臨時(shí)密碼(顯示到屏幕上,并且會(huì)往日志中記一份)
2.密碼復(fù)雜度:長(zhǎng)度:超過(guò)12位? 復(fù)雜度:字符混亂組合
3.密碼過(guò)期時(shí)間180天
注釋?zhuān)?.6初始化的區(qū)別
/application/mysql/scripts/mysql_install_db --user=mysql --datadir=/application/mysql/data --basedir=/application/mysql
書(shū)寫(xiě)默認(rèn)配置文件
vim /etc/my.cnf
[mysqld]
user=mysql #用戶(hù)
basedir=/data/app/mysql #指定/data/app/mysql/support-files軟件目錄
datadir=/data/mysql #指定數(shù)據(jù)目錄
server_id=6
port=3306 #端口
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
prompt=mysql [\\d]> #客戶(hù)端顯示
啟動(dòng)
cd /data/app/mysql/support-files
[root@VM-4-7-centos support-files]# ./mysql.server start
Starting MySQL.Logging to '/data/mysql/VM-4-7-centos.err'.
SUCCESS!
使用systemd管理mysql
vim /etc/systemd/system/mysqld.service
[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=/data/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
注意:將原來(lái)模式啟動(dòng)mysqld先關(guān)閉按脚,然后再用systemd管理诗茎。
systemctl start/stop/restart/status mysqld
簡(jiǎn)單管理
[root@db01 ~]# mysqladmin -uroot -p password 123
Enter password:
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
5.6版本:
select user,password,host from mysql.user;
5.7 中用戶(hù)基本信息
select user,authentication_string,host from mysql.user;
desc mysql.user;