1、什么是关系型数据库。 a、二维表格 b、mysql和oracle数据库,互联网运维最常用的是mysql。 c、通过SQL结构化查询语句存取数据。 d、保持数据一致性方面很强。ACID理论。 特点:读写更多的是和磁盘打交道,数据一致性,安全 缺点:速度慢。 2、NOSQL非关系型数据库小结: a、NOSQL不是否定关系数据库,而是作为关系数据库的一个重要补充。 b、NOSQL为了高性能。高并发而生的。 c、NOSQL典型产品memcached(纯内存),redis(持久性缓存),mongodb(文档数据库) 3、linux下软件的安装方式: 1)、yum/rpm 安装;简单、快,但是无法定制。 2)、编译安装;./configure;make;make install 复杂,速度慢,可定制。 针对mysql,第一条产品线的编译方式5.0--5.1 mysql 5.5以上(mysql-5.5.32.tar.gz)编译安装,./cmake ;gmake;gmake install 3)、二进制包安装**** 解压就能用(绿色软件,无需安装) 简单,快,不好定制。 安装mysql选:二进制包 mysql-5.5.32-linux2.6-x86_64.tar.gz 4)源码软件结合 /yum/rpm来安装。把源码软件制作成符合要求的rpm 包,放到yum仓库里,然后通过yum来安装。特点:安装快速,可定制。 4、安装mysql步骤: a、添加mysql用户 useradd mysql -s /sbin/nologin -M b、下载解压软件

    [root@lnmp02 ~]# cd /home/oldboy/tools/
    [root@lnmp02 tools]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz
    [root@lnmp02 tools]# mv mysql-5.5.32-linux2.6-x86_64 /application/mysql-5.5.32  #移到/application下
    [root@lnmp02 tools]# ln -s /application/mysql-5.5.32/ /application/mysql

c、初始化数据库 [root@lnmp02 tools]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql d、授权mysql管理数据库文件 chown -R mysql.mysql /application/mysql/ e、生成mysql配置文件 [root@lnmp02 mysql]# cp /application/mysql/support-files/my-small.cnf /etc/my.cnf 5、配置启动mysql

  [root@lnmp02 mysql]# sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe                                              #改变mysql目录
  [root@lnmp02 mysql]# /application/mysql/bin/mysqld_safe &    #启动mysql服务

6、配置传统方式启动mysql

  a、[root@lnmp02 mysql]# cp support-files/mysql.server /etc/init.d/mysqld  #将mysql的配置文件复制到/etc/init.d目录下。
  b、[root@lnmp02 mysql]# sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysqld  #改变mysql的目录。
  c、[root@lnmp02 mysql]# chmod +x /etc/init.d/mysqld    #增加执行权限
  d、[root@lnmp02 mysql]# /etc/init.d/mysqld start
  e、[root@lnmp02 mysql]# chkconfig mysqld on  #加入开机自启动
  f、 cp /application/mysql/bin/* /usr/local/sbin/  #将mysql启动命令拷贝到bash里。

7、mysql设置密码和登录及更改密码 设置密码:mysqladmin -uroot password "123456" 登录mysql:mysql -uroot -p123456 更改密码:mysqladmin -uroot -p123456 password "oldboy" 8、mysql简单安全优化 登录到mysql下:查看库 show databases; 删除不用的库 drop database test; 查看用户和主机 select user,host from mysql.user; 用户和主机共同标识一个用户。 删除无用用户 drop user 'root'@'lnmp02'; mysql> drop user ''@'lnmp02'; mysql> drop user ''@'localhost'; mysql> drop user 'root'@'::1'; 如果遇到主机是大写或特殊字符: delete from mysql.user where user="root" and host="A" 删除之后执行:flush privileges;刷新权限

9、mysql简单命令 查看帮助:help 例 help show databases; 查所有的库:show databases; ========>ls 切库:user mysql; ========>cd 查表:show tables; 查看用户列表:select user,host from mysql.user; 查看当前用户:select user(); ========>whoami 查看当前所在库:select database(); =========>pwd 删除数据库:drop database 库名; 删除用户:drop user ’用户‘@’主机‘; 10、查看mysql错误日志 ll /application/mysql/data/mysql-server.err 11、将LNMP里的mysql数据分离到单独的mysql里。 mysqldump是最常用的备份工具:(选择逻辑备份,安全) 1)、逻辑备份:原理是将数据库的数据以逻辑的SQL语句的方式导出。 2)、物理备份:scp /application/mysql/data/ 把整个目录打包拷贝到独立的数据库就可以。(缺点:容易丢数据) xtrabackup是开源的物理备份工具。 首先将lnmp里的数据库数据备份起来压缩。

[root@lnmp02 ~]# mysqldump -uroot -p123456 -B -x wordpress|gzip>/opt/bak_wordpress_$(date +%F).sql.gz
[root@lnmp02 ~]# ll /opt/
总用量 188
-rw-r--r--  1 root root 187680 12月 28 13:16 bak_wordpress_2017-12-28.sql.gz
drwxr-xr-x. 2 root root   4096 3月  26 2015 rh

mysqldump的参数:-A 备份数据库 -B 备份多个库,并添加 use 库名;create databases库等的备份。 -x 锁表,备份期间会影响读写,尽量晚上执行。 |gzip 压缩效率高。 sql.gz 表示sql语句数据,.gz是压缩包。 然后在独立mysql的服务器上让数据库恢复:

[root@mysql-server ~]# cd /opt/
[root@mysql-server opt]# ll
总用量 188
-rw-r--r--  1 root root 187681 12月 28 2017 bak_wordpress_2017-12-28.sql.gz
drwxr-xr-x. 2 root root   4096 3月  26 2015 rh
[root@mysql-server opt]# gzip -d bak_wordpress_2017-12-28.sql.gz     #解压之后会删除原文件。
[root@mysql-server opt]# ll
总用量 800
-rw-r--r--  1 root root 812373 12月 28 2017 bak_wordpress_2017-12-28.sql
drwxr-xr-x. 2 root root   4096 3月  26 2015 rh
[root@mysql-server opt]# mysql -uroot -p123456 <bak_wordpress_2017-12-28.sql
mysql> grant select,insert,update,delete on wordpress.* to wordpress@'192.168.153.%' identified by '123456';                                                #给wordpress这个用户授权。
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host from mysql.user;
+-----------+---------------+
| user      | host          |
+-----------+---------------+
| root      | 127.0.0.1     |
| wordpress | 192.168.153.% |         #对应的用户在lnmp服务器上 /application/nginx/html/blog/wp-config.php里面更改,然后解析在/etc/hosts解析。