Toggle navigation

Percona环境镜像使用手册

Version 1.6.1
  • 执行命令,建议手敲,复制命令不能识别
  • 未经容许,禁止盗用图片,文档和代码不能复制传播
  • 关联《腾讯云》成为我们客户,我们提供免费环境配置


软件版本详细:

  • Percona-5.7.18-14
  • Pureftpd-1.0.45

percona源码安装目录:/usr/local/percona

percona数据存储目录:/data/percona

percona配置文件:/etc/my.cnf

服务管理:/etc/init.d/mysqld {start|stop|status|rotate-logs|restart}

监听端口:0.0.0.0:3306

⚠️特别注意iptables

⚠️注意:如果您购买了数据云盘(脚本仅支持未本地挂载磁盘),建议先挂载数据云盘,将网站内容、数据库放在数据云盘中,未购买数据云盘请忽略该教程!

cd /root/oneinstack
./move_auto_fdisk.sh

如下图:

数据库默认root密码

cd /root/oneinstack
grep dbrootpwd options.conf #显示数据库root密码

如下图:

重置数据库root密码

cd /root/oneinstack
./reset_db_root_password.sh

如下图:

创建一个数据库

命令行创建数据库
如:创建oneinstack的数据库(举例)
# mysql -uroot –p #进入数据库控制台
Enter password: #数据库root密码,⚠️输入密码不显示在屏幕上
Percona [(none)]> create database oneinstack; #特别注意有分号
Percona [(none)]> show databases; #查看数据库,除oneinstack数据库,其它3个为系统默认库,不能删除
Percona [(none)]> exit; #退出数据库控制台,特别注意有分号
如下图:

删除一个数据库

命令行删除数据库
如:删除oneinstack的数据库(举例)
# mysql -uroot –p #进入数据库控制台
Enter password: #数据库root密码,⚠️输入密码不显示在屏幕上
Persona [(none)]> drop database oneinstack;
Percona [(none)]> show databases; #查看数据库
Percona [(none)]> exit; #退出数据库控制台,特别注意有分号

创建数据库用户

为了安全我们通常给每一个网站程序建立唯一的数据库连接帐号(帐号名不能为root)。
如:添加一个用户名为db_user,密码为db_pass,授权为本机localhost对db_name数据库所有权限,命令如下
# mysql -uroot –p
Enter password: #输入数据库的root密码,默认不显示密码
Percona [(none)]> grant all privileges on db_name.* to db_user@’localhost’ identified by ‘db_pass’; #授权语句,特别注意有分号
Percona [(none)]> flush privileges; #权限立即生效
Percona [(none)]> exit; #退出数据库控制台,特别注意有分号
如下图:

如何配置Percona远程连接

为了安全考虑,OneinStack仅允许云主机本机(localhost)连接数据库,如果需要远程连接数据库,需要如下操作:
⚠️注意:云主机安全组端口(如阿里云控制台)、iptables(部分云主机没有启用iptables,可跳过)、grant授权用户,缺一不可
1. 云主机安全组端口开放3306端口
参考文档:《云主机安全组端口开放教程
2. 打开iptables 3306端口
如果您的操作系统为CentOS系列:

iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
service iptables save #保存iptables规则

如下图:

如果您的操作系统为Ubuntu/Debian系列:

iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
iptables-save > /etc/iptables.up.rules  #保存iptables规则

如下图:

3. 数据库授权
远程连接新建一个帐号(帐号名不能为root)。
如:添加一个用户名为db_user,密码为db_pass,授权为% (%表示所有外围IP能连接)对db_name数据库所有权限,命令如下
# mysql -uroot -p
MySQL [(none)]> grant all privileges on db_name.* to db_user@’%’ identified by ‘db_pass’; #授权语句,特别注意有分号
MySQL [(none)]> flush privileges;
MySQL [(none)]> exit; #退出数据库控制台,特别注意有分号
如下图: