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 -->生效配置