运行我的数据库容器时显示错误
start-database.sh文件:
!/bin/bash
# This script starts the database server.
echo "Creating user $user for databases loaded from $url"
通过docker run --env url="http:/ex.org/db.sql"
提供导入数据库
echo"将数据添加到MySQL"
/usr/sbin/mysqld &
sleep 5
curl $url -o import.sql
修复一些phpmysqladmin导出问题
sed -ri.bak 's/-- Database: (.*?)/CREATE DATABASE \1;\nUSE \1;/g' import.sql
修复一些mysqldump导出问题(在没有--databases
切换的情况下运行)
目前尚未对此进行测试。
if grep -q "CREATE DATABASE" import.sql; then :;
else
sed -ri.bak 's/-- MySQL dump/CREATE DATABASE `database_1`;\nUSE `database_1`;\n-- MySQL dump/g' import.sql;
fi
mysql --default-character-set=utf8 < import.sql
rm import.sql
mysqladmin shutdown
echo "finished"
现在添加了提供的用户凭据
/usr/sbin/mysqld &
sleep 5
echo "Creating user"
echo "CREATE USER '$user' IDENTIFIED BY '$password'" | mysql --default-character-set=utf8
echo "REVOKE ALL PRIVILEGES ON *.* FROM '$user'@'%'; FLUSH PRIVILEGES" | mysql --default-character-set=utf8
echo "GRANT SELECT ON *.* TO '$user'@'%'; FLUSH PRIVILEGES" | mysql --default-character-set=utf8
echo "finished"
if [ "$right" = "WRITE" ]; then
echo "adding write access"
echo "GRANT ALL PRIVILEGES ON *.* TO '$user'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES" | mysql --default-character-set=utf8
fi
我们重启服务器以实现运营
mysqladmin shutdown
echo "Starting MySQL Server"
/usr/sbin/mysqld
ERROR:
docker_admin@ubuntu:~$ **sudo docker run -v /home/docker_admin/datadb:/var/lib/mysql:rw --name mysqldb sqldb**
为从file:/var/db/database.sql加载的数据库创建用户root 将数据添加到MySQL
151218 11:31:51 [警告]使用唯一选项前缀 不推荐使用lower_case_table_name而不是lower_case_table_names 并将在以后的版本中删除。请使用全名 代替。 151218 11:31:51 [警告]使用唯一选项前缀 不推荐使用key_buffer而不是key_buffer_size 在将来的版本中删除。请改用全名。 151218 11:31:51 [注意] / usr / sbin / mysqld(mysqld 5.5.46-0ubuntu0.14.04.2) 从流程5开始...%收到的总百分比%Xferd平均值 速度时间时间时间当前 Dload上传总左转速度100 1105M 100 1105M 0 0 49.7M 0 0:00:22 0:00:22 - : - : - 22.1M ERROR 2002(HY000):无法通过socket&#39; /var/run/mysqld/mysqld.sock'连接到本地MySQL服务器; (2)mysqladmin:连接 服务于&#39; localhost&#39;失败错误:&#39;无法连接到本地MySQL 服务器通过socket&#39; /var/run/mysqld/mysqld.sock' (2)&#39;检查一下 mysqld正在运行并且套接字:&#39; /var/run/mysqld/mysqld.sock' 存在!完成151218 11:32:30 [警告]使用唯一选项前缀 不推荐使用lower_case_table_name而不是lower_case_table_names 并将在以后的版本中删除。请使用全名 代替。 151218 11:32:30 [警告]使用唯一选项前缀 不推荐使用key_buffer而不是key_buffer_size 在将来的版本中删除。请改用全名。 151218 11:32:30 [注意] / usr / sbin / mysqld(mysqld 5.5.46-0ubuntu0.14.04.2) 从流程25开始...创建用户ERROR 2002(HY000):不能 通过套接字连接到本地MySQL服务器 &#39; /var/run/mysqld/mysqld.sock' (2)ERROR 2002(HY000):无法连接 本地MySQL服务器通过socket&#39; /var/run/mysqld/mysqld.sock' (2) ERROR 2002(HY000):无法通过套接字连接到本地MySQL服务器 &#39; /var/run/mysqld/mysqld.sock' (2)完成添加写访问ERROR 2002(HY000):无法通过套接字连接到本地MySQL服务器 &#39; /var/run/mysqld/mysqld.sock' (2)mysqladmin:连接到服务器 &#39;本地主机&#39;失败错误:&#39;无法通过本地MySQL服务器连接 socket&#39; /var/run/mysqld/mysqld.sock' (2)&#39;检查mysqld是否正在运行 而套接字:&#39; /var/run/mysqld/mysqld.sock'存在!开始 MySQL Server 151218 11:32:35 [警告]使用唯一选项前缀 不推荐使用lower_case_table_name而不是lower_case_table_names 并将在以后的版本中删除。请使用全名 代替。 151218 11:32:35 [警告]使用唯一选项前缀 不推荐使用key_buffer而不是key_buffer_size 在将来的版本中删除。请改用全名。 151218 11:32:35 [注意] / usr / sbin / mysqld(mysqld 5.5.46-0ubuntu0.14.04.2) 从过程52开始...