安裝
一、 下載mysql5.7
http://mirrors.sohu.com/mysql/MySQL-5.7/
Linux下載:
輸入命令:wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
二、 建立用戶,以及mysql的目錄
1、 建立一個mysql的組
輸入命令: groupadd mysql
2、 建立mysql用戶,並放到mysql組
輸入命令:useradd -r -g mysql mysql
3、 給mysql用戶設置密碼
輸入命令:passwd mysql
三、 解壓mysql
1、 把下載的mysql的包移動到Linux虛擬機下
2、 把tar包複製一份到/usr/local 目錄下
輸入命令:mv /software/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz /usr/local
3、 解壓
輸入命令:cd /usr/local
輸入命令:tar xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
4、 把解壓出來的文件改下名字,改爲mysql
輸入命令:mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql
四、 配置相關的啓動配置文件
1、 複製my_default.cnf到/etc/my.cnf (mysql啓動時自動讀取)
輸入命令:cp my-default.cnf /etc/my.cnf
2、 解決亂碼問題
輸入命令:vi /etc/my.cnf
更改:
[mysql]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8
3、 複製mysql.server 到/etc/init.d/
輸入命令:cp mysql.server /etc/init.d/mysql
4、 修改 /etc/init.d/mysql 參數,給予2個目錄位置
輸入命令:vi /etc/init.d/mysql
更改:basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
5、 給目錄/usr/local/mysql 更改擁有者
chown -R 用戶名:組名 /usr/local/mysql/
輸入命令:chown -R mysql:mysql /usr/local/mysql/
五、 初始化mysql的數據庫
1、 初始化數據庫
首先要去到mysql/bin目錄下
老版本的命令:mysql_install_db
新版本的命令:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
生成出一個data目錄,代表數據庫已經初始化成功
這裏會生成一個臨時密碼(保存記住,後面要用到)
2、 給數據庫加密
輸入命令:./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
3、 啓動mysql
輸入命令:./mysqld_safe --user=mysql &
&符號:把當前進程丟給後臺
六、 進入客戶端
1、 登錄
輸入命令:./mysql -uroot -p
然後輸入你的臨時密碼
2、 修改密碼
輸入命令:set password=password('你的密碼');
七、 window遠程訪問Linux虛擬機的mysql
1、 首先要關閉防火牆,這樣window才能連接上
輸入命令:systemctl stop firewalld.service
2、 給window授權
輸入命令: grant all privileges on *.* to root@'%' identified by '123456';
3、 window遠程連接
輸入命令:mysql -hIP地址 -uroot -p123456
八、 設置開機自動啓動mysql服務
1、 添加服務mysql
輸入命令:chkconfig --add mysql
2、 設置服務開機自啓
輸入命令:chkconfig mysql on
九、設置path環境變量
輸入命令:vi /etc/profile
設置環境變量:export PATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH
配置好環境變量後,我們就不用再去到/usr/local/mysql/bin目錄才能登錄了,現在可以在任意目錄下登錄mysql
十、完成
這樣我們的mysql數據庫就配置好了
備份
一、MySQL數據備份
1、在MySQL中提供了命令行導出數據庫數據以及文件的一種方便的工具mysqldump,我們可以通過命令行直接實現數據庫內容的導出dump,首先我們簡單瞭解一下mysqldump命令用法:
mysqldump -u root -p --databases 數據庫1 數據庫2 > xxx.sql
2、編輯shell腳本:
cd /home 進入home目錄
mkdir mysqlbackup 創建文件夾
vim mysql_dump_script.sh
#!/bin/bash #保存備份個數,備份7天數據
number=7
#備份保存路徑
backup_dir=/home/mysqlbackup
#日期
dd=`date +%Y-%m-%d-%H-%M-%S`
#備份工具
tool=mysqldump
#用戶名
username=root
#密碼
#password=TankB214
#將要備份的數據庫 database_name=gl_gcc
#如果文件夾不存在則創建
if [ ! -d $backup_dir ];
then
mkdir -p $backup_dir;
fi
#簡單寫法
$tool --defaults-extra-file=/etc/my.cnf $database_name >
$backup_dir/$database_name-$dd.sql
#寫創建備份日誌
echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt
#找出需要刪除的備份
delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | head -1`
#判斷現在的備份數量是否大於$number
count=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | wc -l`
if [ $count -gt $number ]
then
#刪除最早生成的備份,只保留number數量的備份
rm $delfile
#寫刪除文件日誌
echo "delete $delfile" >> $backup_dir/log.txt
fi
注意: mysql 5.7 以上版本不能把密碼寫在shell文件裏,因此更改/etc/my.cnf 文件
解決方法:
對於mysqldump 要如何避免出現(Warning:Using a password on the command line interface can be insecure.) 警告信息呢?
① vim /etc/my.cnf
[mysqldump]
user=root(數據庫賬號)
password=數據庫密碼
②:wq
③重啓mysql服務:service mysql restart
3、修改shell腳本權限,chmod 777 mysql_dump_script.sh ,這樣這個腳本就變成可執行文件, ./mysql_dump_script.sh 可查看是否還有其他報錯!
二、開啓定時任務,執行數據庫備份腳本
1、crontab -e 進入定時任務編輯頁面
00 01 * * * /usr/bin/sh /home/mysqlbackup/mysql_dump_script.sh 代表每天凌晨1點執行一次這個腳本。
其他關於定時任務的資料可參考 https://www.runoob.com/w3cnote/linux-crontab-tasks.html
2、再用 service crond restart 重新啓動定時任務服務即可!
3、crontab -l 可查看當前所有的定時任務列表!