16.一、lnmp介绍:php
lnmp架构,linux的php的程序架构:mysql
linux nginx MySQL PHP; # lamp:linux apache mysql php;linux
16.二、mysql介绍:nginx
mysql是互联网领域极为重要的一款开源关系型数据库软件,由MySQL AB公司开发与维护,后被sun公司收web
购,sun公司后又被oracle公司收购,现mysql属于oracle公司;sql
目前绝大多数使用linux操做系统的互联网企业都在使用mysql做为后端的数据库,从大型的bat门户,到电商数据库
门户平台,分类门户平台无一例外;apache
16.三、mysql的优势:后端
软件体积小;api
社区活跃,开放源代码;
软件体积小,安装使用简单,而且易于维护,安装维护的成本低;
支持多种操做系统,提供多种api接口,支持多种开发语言,特别对流行的php语言无缝支持;
16.四、安装mysql:
一、下载mysql:
二、为mysql建立虚拟用户:
[root@web01 tools]# useradd -Ms /sbin/nologin mysql
三、解压文件并移动:
[root@web01 tools]# tar -xzvf mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz
[root@web01 tools]# mv -v mysql-5.5.62-linux-glibc2.12-x86_64 /application/mysql-5.5.62
[root@web01 application]# ln -s mysql-5.5.62/ mysql
四、受权mysql用户管理:
[root@web01 application]# chown -R mysql.mysql mysql/
五、初始化mysql:
[root@web01 mysql]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
#basedir:安装的根;datadir:数据目录;
[root@web01 data]# ls
mysql performance_schema test
六、拷贝启动文件到/init.d/目录下:
[root@web01 mysql]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@web01 mysql]# chmod +x /etc/init.d/mysqld
七、复制默认的配置文件:
[root@web01 mysql]# cp /application/mysql/support-files/my-small.cnf /etc/my.cnf
八、替换安装路径:
[root@web01 mysql]# sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld
/etc/my.cnf中的socket路径也须要改,是/tmp/mysql.sock,因此能够不动;
九、把mysql加入开机自启动
[root@web01 mysql]# chkconfig --add mysqld
[root@web01 mysql]# chkconfig --list mysqld
mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
十、启动mysql:
[root@web01 mysql]# /etc/init.d/mysqld start
[root@web01 data]# lsof -i:3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 1661 mysql 10u IPv4 11135 0t0 TCP *:mysql (LISTEN)
十一、注:加入开机自启动的第二种方法:
mysql手动启动(此时上面的将/application/mysql/support-files/mysql.server 拷贝到/etc/init.d/mysqld,改变mysqld路径的步骤能够去除):
[root@web01 mysql]# /application/mysql/bin/mysqld_safe & #&表明后台运行;
加入/etc/rc.local开机自启动文件;
echo '/application/mysql/bin/mysqld_safe' >>/etc/rc.local
十二、配置mysql的全局环境变量:
[root@web01 /] echo export PATH=/application/mysql/bin/:$PATH >>/etc/profile
#能够 copy /application/mysql/bin/* /usr/local/bin/目录下 作root用户的变量;
[root@web01 ~]# source /etc/profile
[root@web01 /]# echo $PATH
/application/mysql/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@web01 /]# mysql
mysql>
1三、为mysql设置密码:
mysql默认安装的状况下是没有密码的;
[root@web01 data]# mysqladmin -u root password "123456"
[root@web01 data]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@web01 data]# mysql -uroot -p123456
mysql>
1四、修改密码:
[root@web01 data]# mysqladmin -uroot -p123456 password "lc"
[root@web01 data]# mysql -uroot -plc
mysql>
1五、清空history历史记录:
[root@web01 data]# history -c
[root@web01 data]# >/root/.bash_history
1六、mysql初始化数据库报错问题和解决办法:
ERROR 1045 (28000):Access denied for user root@localhost (using password:no)# mysql数据库损坏,删除并从新初始化数据库;
WARNING:the host mysql could not be looked up with resloveip# 检查主机名对应主机ip解析是否正确 uname -n;
ERROR:1004 Can't create file /tmp/#sql300e_1_0.frm(errno:13) #mysql /tmp 数据目录权限有问题chmod 1777 /tmp/;