1.什麼是Mysql(MariDB)html
1.數據庫:存儲數據的倉庫
2.關係型數據庫:mysql(主流用5.5,5.6), oracle
本質:二維表
非關係型數據庫:radis(數據寫入內存中,也能夠寫入磁盤,使用key_value)
nosql not only sql --> 以高效,高性能爲目的
3.優勢:根磁盤打交道,保持數據一致性,安全,開源免費(減低成本)
性能好,體積小,易安裝,易維護,支持多操做系統,多語言開發
缺點:速度慢mysql
準備工做linux
Mysql下載web
連接:https://pan.baidu.com/s/1Xw9dzlGFCqqZfqzFHqkGqw 密碼:9cszsql
useradd mysql -M -s /sbin/login tar xf mysql-5.5.33-linux2.6-x86_64.tar.gz ln -s mysql-5.5.33-linux2.6-x86_64 mysql mv mysql mysql-5.5.33-linux2.6-x86_64 /usr/local/
chown mysql.mysql /usr/local/mysql/ -R -->若是沒有按照規定路徑按照mysql,須要手動替換文件 sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /application/mysql/support-files/mysql.server
初始化數據庫shell
/usr/local/mysql/scripts/mysql_install_db --help 【幫助文檔】 /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql -->生成出一個data目錄,表明數據庫已經初始化成功而且mysql的root用戶生成一個臨時密碼 -->若是錯誤,須要刪除rm -rf /usr/local/mysql/data/*後從新初始化
生成mysql配置文件 數據庫
cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf # 本博文以小規模配置爲實例,能夠選擇其餘my-medium.cnf/my-large.cnf
# my-medium.cnf/my-large.cnf 默認開啓log記錄文件
# 小配置默認不開啓二進制的log記錄,可選擇性開啓 [Mysql的主備是須要開啓的]
# sed -i 's/#log-bin=mysql-bin/log-bin=mysql-bin/g' /etc/my.cnf
配置環境變量(2種) vim
1.vim /etc/profile -->推薦 #mysql PATH="/usr/local/mysql/bin:$PATH" source /etc/profile 2.直接添加入$PATHchk cp /usr/local/mysql/bin/* /usr/local/sbin/
直接啓動mysql
安全
/usr/local/mysql/bin/mysqld_safe &
查看啓動狀況
ps -ef|grep mysqld
規範的啓動mysql -->推薦oracle
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld service mysqld start -->設置開機自啓動 chkconfig mysqld on chkconfig --list|grep mysqld
在shell界面修改密碼
設置: mysqladmin -uroot password "root" 登陸: mysql -uroot -proot 更改: mysqladmin -uroot -proot password "root2" 安全登陸: mysql -uroot –p
安全優化:
刪除test庫 drop database test; 刪除無用用戶 select user,host from mysql.user; -->用戶和主機惟一標示一個用戶 drop user ''@'localhost'; drop database 庫名;
create user webserverpt@localhost identified by 'root'; grant all privileges on *.* to webserverpt with grant option; flush privileges; -->讓權限生效,賦權的時候必備的2條命令
delete from mysql.user where user="root" and host="host"; select user(); use mysql; select database(); help show databases; help CREATE VIEW;
大寫以及特殊linux主機名刪除用戶問題
drop user root@'ftl\_lnmp'; 刪除失敗能夠採用delete語句 delete from mysql.user where user='' and host='MYSQL' -->正確 flush privilege -->生效配置