從零搭建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';
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"
相關文章
- 從零搭建LNMP環境(一) - 編譯原始碼安裝PHPLNMP編譯原始碼PHP
- LNMP 分散式叢集(三):MySQL主從資料庫伺服器的搭建LNMP分散式MySql資料庫伺服器
- 從零搭建LNMP環境(二) - 整合Nginx與PHPLNMPNginxPHP
- LNMP 環境安裝LNMP
- 安裝LNMP環境LNMP
- Mac os 使用 (homebrew) 從零搭建 PHP,nginx,MySQL,Redis (LNMP) 開發環境MacPHPNginxMySqlRedisLNMP開發環境
- 【Linux】LNMP 環境搭建(上):安裝篇LinuxLNMP
- [Linux] LNMP 環境搭建(上):安裝篇LinuxLNMP
- macOS 安裝 LNMP 環境MacLNMP
- brew lnmp 環境安裝LNMP
- LNMP 環境搭建LNMP
- 搭建lnmp環境LNMP
- lnmp環境搭建LNMP
- lnmp環境安裝詳細LNMP
- 快速搭建 Linux(LNMP + Linux 安裝 + 環境配置)LinuxLNMP
- LEMP環境搭建及配置(三)安裝MySQL5.6MySql
- centos 7 伺服器安裝LNMP環境 (Linux+Nginx+Mysql8+PHP)CentOS伺服器LNMPLinuxNginxMySqlPHP
- docker搭建lnmp環境DockerLNMP
- docker 搭建 lnmp 環境DockerLNMP
- 如何搭建LNMP環境LNMP
- ubuntu lnmp環境搭建UbuntuLNMP
- Linux 伺服器即 LNMP 環境搭建(Git倉庫上篇)Linux伺服器LNMPGit
- HHvm建站環境搭建方法:Nginx、lnmp/lamp等安裝部署NginxLNMPLAMP
- Magento2 LNMP 環境安裝LNMP
- ubuntu 16.04安裝LNMP環境UbuntuLNMP
- Docker 下安裝配置 lnmp 環境DockerLNMP
- Ubuntu20 LNMP 環境安裝UbuntuLNMP
- zabbix一鍵安裝lnmp環境LNMP
- 【MySQL資料庫】認識資料庫+環境搭建--------Windows系統MySql資料庫Windows
- PHP-lnmp 環境搭建PHPLNMP
- Docker LNMP Redis 環境搭建DockerLNMPRedis
- Windows 下搭建 lnmp 環境WindowsLNMP
- LNMP環境搭建(二):NginxLNMPNginx
- LNMP環境搭建——Nginx篇LNMPNginx
- docker下LNMP環境搭建DockerLNMP
- mac brew 安裝 lnmp環境 代替MampMacLNMP
- lnmp環境安裝-原始碼編譯LNMP原始碼編譯
- centos6.2LNMP環境安裝(yum)CentOSLNMP