阿里雲OneinStack數據庫相關
必須進入oneinstack目錄下執行相關命令
===================================
源碼安裝目錄:
Nginx:/usr/local/nginx
JDK: /usr/java
Tomcat:/usr/local/tomcat
MySQL:/usr/local/mysql
Pureftpd:/usr/local/pureftpd
Redis: /usr/local/redis
Memcached:/usr/local/memcached
------------------------
數據存儲目錄:
數據庫(MySQL):/data/mysql
網站根目錄:/data/wwwroot/www.example.com
#添加虛擬主機會自動創 建這個目錄 Web訪問日志:/data/wwwlogs
默認 ip 直接訪問內容對應根目錄:/data/wwwroot/default,該目錄包含首頁 demo,目錄里面可刪除,目錄不能刪除。
首頁demo:http://IP地址
-----------------------
4.1 數據庫默認root密碼
cd /root/oneinstack #必須進入oneinstack目錄下執行
grep dbrootpwd options.conf #顯示數據庫root密碼
dbrootpwd='123456'
4.3 創建一個數據庫
如:創建一個oneinstack的數據庫(舉例)
# mysql -u root -p #進入數據庫控制台
Enter password: #輸入數據庫的root密碼,默認不顯示密碼
MySQL [(none)]> create database oneinstack; #特別注意有分號
MySQL [(none)]> show databases; #查看數據庫,除oneinstack數據庫,
其它3個為系統默認庫,不能刪除
MySQL [(none)]> exit; #退出數據庫控制台,特別注意有分號
4.4 刪除一個數據庫
MySQL [(none)]> drop database oneinstack; #刪除oneinstack數據庫
MySQL [(none)]> exit; #退出數據庫控制台,特別注意有分號
數據庫不用遠程打開
阿里雲那里只開了80端口
數據庫不能暴露在公網
======================================
為了安全考慮,OneinStack僅允許雲主機本機(localhost)連接數據庫,如果需要遠程連接數據庫,需要如下操作:
打開iptables 3306端口
# iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
# service iptables save
#保存iptables規則
#iptables -nvL
#查看自己配置的iptables
數據庫授權
遠程連接新建一個帳號(帳號名不能為root)。
如:添加一個用戶名為linuxeye,密碼為123456,授權為% (%表示所有ip能連接,可以設置指定ip)對oneinstack數據庫所有權限,命令如下:
# mysql -u root -p
MySQL [(none)]> grant all privileges on oneinstack.* to linuxeye@'%' identified by '123456'; #授權語句,特別注意有分號
MySQL [(none)]> flush privileges;
MySQL [(none)]> exit; #退出數據庫控制台,特別注意有分號
-----------------------
阿里雲OneinStack CentOS6.5 64位 Nginx Tomcat7 JDK鏡像
oneinstack的數據庫進入不了數據庫控制台
開始是報錯 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
打開iptables 3306端口后報下面的錯:
[root@iZwz95gh029m7jp60rvqppZ oneinstack]# mysql –u root –p
mysql Ver 14.14 Distrib 5.6.30, for Linux (x86_64) using EditLine wrapper
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
注意:上面報錯是–u的–不是英文的導致的(肉眼很難看出來,下面自己敲命令的則可以)
[root@iZwz95gh029m7jp60rvqppZ oneinstack]# service mysql restart
mysql: unrecognized service
[root@iZwz95gh029m7jp60rvqppZ oneinstack]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
-----------------------------
讓遠程可以連接mysql的root用戶
use mysql;
select host,user,password from user;
update user set password=password('123456') where user='root';
update user set host='%' where user='root' and host='localhost';
flush privileges;
一共5條語句,一句一句執行。
MySQL [mysql]> exit;