阿里云OneinStack数据库相关

时间:2023-12-19 21:28:56

阿里云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;