lnmp環境意思就是linux nginx mysql php環境了,所以本文章來介紹的就是這個lnmp環境中mysql服務器安裝配置步驟,希望文章能幫助到大家.
廢話不多說,雖然可以通過yum直接安裝MySQL,但是為了能夠對安裝過程有一個比較清晰的認識,我們這里還是使用源碼編譯安裝,代碼如下:
- $ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.21.tar.gz
 - $ tar -zxvf mysql-5.6.21.tar.gz
 - $ cd mysql-5.6.21
 
文件已經下載并且解壓好了,在安裝之前,我們需要為mysql建立名為mysql的用戶名和用戶組,代碼如下:
- $ sudo groupadd mysql
 - $ sudo useradd -r -g mysql mysql
 
建立好用戶名和組之后,就可以進行編譯安裝了,代碼如下:
- $ cmake .
 - $ make
 - $ sudo make install
 
編譯過程比較漫長,耐心一點,如果沒有安裝cmake,則需要先安裝,代碼如下:
- $ sudo yum install cmake
 - $ sudo yum install gcc-c++
 
如果提示:Warning: Bison executable not found in PATH
則需要安裝bison:$ sudo yum install bison
如果出現以下錯誤:
- -- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
 - CMake Error at cmake/readline.cmake:85 (MESSAGE):
 - Curses library not found. Please install appropriate package,
 - 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變得可用,代碼如下:
- $ cd /usr/local/mysql/
 - $ sudo chown -R mysql .
 - $ sudo chgrp -R mysql .
 - $ sudo scripts/mysql_install_db --user=mysql
 
這里的mysql_install_db腳本只有在手動編譯安裝mysql的時候需要,該腳本為mysql建立了授權表,大多數的mysql安裝是屬于root用戶的,但是必須保證data目錄是數據mysql用戶,代碼如下:
- $ sudo chown -R root .
 - $ sudo chown -R mysql data
 
最后,我們需要創建mysql的配置文件,代碼如下:
$ sudo cp support-files/my-default.cnf /etc/my.cnf
配置MySQL開機啟動
如果希望在系統啟動的時候mysql也能夠自動的啟動,可以執行下面的命令:
- $ sudo cp support-files/mysql.server /etc/init.d/mysql.server
 - $ sudo chmod u+x /etc/init.d/mysql.server
 - $ sudo chkconfig --add mysql.server
 
執行chkconfig |grep mysql看到如下,特別是運行級別3為啟用,則說明設置成功.
- $ chkconfig |grep mysql
 - 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賬號設置一個密碼,代碼如下:
- $ /usr/local/mysql/bin/mysql -uroot
 - mysql> SELECT User, Host, Password FROM mysql.user;
 - +------+-----------------------+----------+
 - | User | Host | Password |
 - +------+-----------------------+----------+
 - | root | localhost | |
 - | root | localhost.localdomain | |
 - | root | 127.0.0.1 | |
 - | root | ::1 | |
 - | | localhost | |
 - | | localhost.localdomain | |
 - +------+-----------------------+----------+
 - 6 rows in set (0.00 sec)
 
這里User一列為空的是匿名用戶信息,使用mysql直接登陸的時候,沒有提供賬號的話,就會以該用戶的身份登陸數據庫,如果不需要該用戶的話,可以刪除掉該用戶信息,代碼如下:
- mysql> DROP USER ''@'localhost';
 - mysql> DROP USER ''@'localhost.localdomain';
 
通常我們有三種方式為mysql用戶設置密碼:
第一種方式是使用SET PASSWORD,使用該指令,我們需要登陸到mysql,代碼如下:
- mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
 - Query OK, 0 rows affected (0.00 sec)
 - mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('root');
 - Query OK, 0 rows affected (0.00 sec)
 - mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('root');
 - Query OK, 0 rows affected (0.00 sec)
 
第二種方式更加直接,使用UPDATA直接修改數據表,代碼如下:
- mysql> UPDATE mysql.user SET Password = PASSWORD('root') WHERE User = 'root'; --Vevb.com
 - Query OK, 1 row affected (0.00 sec)
 - Rows matched: 4 Changed: 1 Warnings: 0
 - mysql> FLUSH PRIVILEGES;
 - Query OK, 0 rows affected (0.00 sec)
 
這里的FLUSH語句讓數據庫重新加載授權表,否則需要等下次重啟才能生效.
第三種方式是使用mysqladmin命令,不過這種方式不能為'root'@'127.0.0.1'和'root'@'::1' 修改密碼,代碼如下:
- shell> mysqladmin -u root password "newpwd"
 - shell> mysqladmin -u root -h host_name password "newpwd"
 
新聞熱點
疑難解答