当前位置:首页 > linux教程 > 列表

lnmp环境配置之安装MySQL数据库服务器

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-22 23:59:03 浏览: 评论:0 

lnmp环境意思就是linux nginx mysql php环境了,所以本文章来介绍的就是这个lnmp环境中mysql服务器安装配置步骤,希望文章能帮助到大家.

废话不多说,虽然可以通过yum直接安装MySQL,但是为了能够对安装过程有一个比较清晰的认识,我们这里还是使用源码编译安装,代码如下:

  1. $ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.21.tar.gz 
  2. $ tar -zxvf mysql-5.6.21.tar.gz 
  3. $ cd mysql-5.6.21 

文件已经下载并且解压好了,在安装之前,我们需要为mysql建立名为mysql的用户名和用户组,代码如下:

  1. $ sudo groupadd mysql 
  2. $ sudo useradd -r -g mysql mysql 

建立好用户名和组之后,就可以进行编译安装了,代码如下:

  1. $ cmake . 
  2. $ make 
  3. $ sudo make install 

编译过程比较漫长,耐心一点,如果没有安装cmake,则需要先安装,代码如下:

  1. $ sudo yum install cmake 
  2. $ sudo yum install gcc-c++ 

如果提示:Warning: Bison executable not found in PATH

则需要安装bison:$ sudo yum install bison

如果出现以下错误:

  1. -- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH) 
  2. CMake Error at cmake/readline.cmake:85 (MESSAGE): 
  3.   Curses library not found.  Please install appropriate package, 
  4.       remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel. 

则需要安装:$ sudo yum install ncurses-devel

经过漫长的编译过程,我们的mysql终于安装到了/usr/local/mysql目录,接下来,我们需要对mysql 进行相应的配置,使得mysql变得可用,代码如下:

  1. $ cd /usr/local/mysql/ 
  2. $ sudo chown -R mysql . 
  3. $ sudo chgrp -R mysql . 
  4. $ sudo scripts/mysql_install_db --user=mysql 

这里的mysql_install_db脚本只有在手动编译安装mysql的时候需要,该脚本为mysql建立了授权表,大多数的mysql安装是属于root用户的,但是必须保证data目录是数据mysql用户,代码如下:

  1. $ sudo chown -R root . 
  2. $ sudo chown -R mysql data 

最后,我们需要创建mysql的配置文件,代码如下:

$ sudo cp support-files/my-default.cnf /etc/my.cnf

配置MySQL开机启动

如果希望在系统启动的时候mysql也能够自动的启动,可以执行下面的命令:

  1. $ sudo cp support-files/mysql.server /etc/init.d/mysql.server 
  2. $ sudo chmod u+x /etc/init.d/mysql.server 
  3. $ sudo chkconfig --add mysql.server 

执行chkconfig |grep mysql看到如下,特别是运行级别3为启用,则说明设置成功.

  1. $ chkconfig |grep mysql 
  2. mysql.server 

0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭

可以通过mysql.server脚本启动和关闭mysql.

$ sudo /etc/init.d/mysql.server [start|stop]

如果要手动操作的话,启动mysql的话使用命令:

$ sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &

关闭mysql:$ ./mysqladmin -u root shutdown

修改root账号密码

新安装的mysql数据库的root账号是没有设置密码的,因此,所有人都可以进行访问,为了安全起见,我们需要为root账号设置一个密码,代码如下:

  1. $ /usr/local/mysql/bin/mysql -uroot 
  2. mysql> SELECT User, Host, Password FROM mysql.user; 
  3. +------+-----------------------+----------+ 
  4. | User | Host                  | Password | 
  5. +------+-----------------------+----------+ 
  6. | root | localhost             |          | 
  7. | root | localhost.localdomain |          | 
  8. | root | 127.0.0.1             |          | 
  9. | root | ::1                   |          | 
  10. |      | localhost             |          | 
  11. |      | localhost.localdomain |          | 
  12. +------+-----------------------+----------+ 
  13. 6 rows in set (0.00 sec) 

这里User一列为空的是匿名用户信息,使用mysql直接登陆的时候,没有提供账号的话,就会以该用户的身份登陆数据库,如果不需要该用户的话,可以删除掉该用户信息,代码如下:

  1. mysql> DROP USER ''@'localhost'; 
  2. mysql> DROP USER ''@'localhost.localdomain'; 

通常我们有三种方式为mysql用户设置密码:

第一种方式是使用SET PASSWORD,使用该指令,我们需要登陆到mysql,代码如下:

  1. mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root'); 
  2. Query OK, 0 rows affected (0.00 sec) 
  3. mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('root'); 
  4. Query OK, 0 rows affected (0.00 sec) 
  5. mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('root'); 
  6. Query OK, 0 rows affected (0.00 sec) 

第二种方式更加直接,使用UPDATA直接修改数据表,代码如下:

  1. mysql> UPDATE mysql.user SET Password = PASSWORD('root'WHERE User = 'root';  --phpfensi.com 
  2. Query OK, 1 row affected (0.00 sec) 
  3. Rows matched: 4  Changed: 1  Warnings: 0 
  4. mysql> FLUSH PRIVILEGES
  5. Query OK, 0 rows affected (0.00 sec) 

这里的FLUSH语句让数据库重新加载授权表,否则需要等下次重启才能生效.

第三种方式是使用mysqladmin命令,不过这种方式不能为'root'@'127.0.0.1'和'root'@'::1' 修改密码,代码如下:

  1. shell> mysqladmin -u root password "newpwd" 
  2. shell> mysqladmin -u root -h host_name password "newpwd"

Tags: lnmp环境配置 MySQL数据库

分享到: