在使用volume运行db时,无法通过套接字连接到本地mysql服务器

时间:2015-12-18 11:46:13

标签: docker dockerfile

运行我的数据库容器时显示错误

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开始...

0 个答案:

没有答案