通过userdata在aws ec2实例上安装Mysql

标签 mysql bash amazon-web-services automation user-data

我将此脚本作为 ec2 实例中的用户数据提供,以安装和设置 mysql。该代码手动运行良好,但当作为用户数据提供给 ec2 实例时,它不会创建数据库或用户。

#!/bin/bash
sudo yum -y update
sudo yum -y install aspell aspell-en httpd24 mysql mysql-server php56 php56-cli php56-gd php56-intl php56-mbstring php56-mysqlnd php56-opcache php56-pdo php56-soap php56-xml php56-xmlrpc php56-pspell --skip-broken
sudo yum list installed
sudo /sbin/chkconfig httpd on
sudo /sbin/chkconfig mysqld on  
sudo /sbin/service httpd start
sudo /sbin/service mysqld start
sudo mysqladmin -u root password '123a'
sudo mysql -u root -p123a
CREATE DATABASE db;
CREATE USER '1234'@'localhost' IDENTIFIED BY '123a';
GRANT FILE ON *.* TO '1234'@'localhost';
FLUSH PRIVILEGES;

Mysql版本:5.7.28

最佳答案

你的授予命令不正确,现在只是没有密码

sudo mysql -u root -p123a -e  "CREATE DATABASE db DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;use db;create user 'db'@'localhost' identified by '123a';  grant all on testdb.* to 'db';GRANT ALL ON db.* TO ' db '@'localhost';GRANT ALL ON db.* TO ' db '@'%';FLUSH PRIVILEGES;"

关于通过userdata在aws ec2实例上安装Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62581870/

相关文章:

php - mysql 在使用 SELECT 函数时不会全选

linux - 如何使用 IF/Then Bash 命令比较 2 个文件中的行数

linux - 如何修复 bash 脚本中意外的文件结尾?

python - ec2 每次启动都运行脚本

mysql - 如何获得同时创建的最后 3 个组?

php - 需要使用 mysql 获取所有具有特定功能的产品

linux - 高容量缓冲区 fifo 或使用文件作为 fifo 缓冲区

mongodb - Mongorestore 4.2 可以与 AWS DocumentDB 4.0 一起使用吗?

amazon-web-services - 了解亚马逊 Autoscale 如何自动缩放

php - 如何从 MYSQL 数据库中的最后 10 条记录中获取最小的 ID?