使用卷运行数据库时,无法通过套接字连接到本地mysql服务器

而运行我的数据库容器,它显示错误

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"提供docker run --env url="http:/ex.org/db.sql"回声“添加数据到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开关运行时)到目前为止还没有testing。

 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 

错误:

docker_admin@ubuntu:~$ **sudo docker run -v /home/docker_admin/datadb:/var/lib/mysql:rw --name mysqldb sqldb**

为从数据库加载的数据库创build用户根:/var/db/database.sql将数据添加到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平均速度时间时间时间当前下载上载总花费Left Speed 100 1105M 100 1105M 0 0 49.7M 0 0:00:22 0:00:22 – : – : – 22.1M错误2002(HY000):无法通过套接字'/ var连接到本地MySQL服务器/run/mysqld/mysqld.sock'(2)mysqladmin:在'localhost'连接服务器失败错误:'无法通过套接字连接到本地MySQL服务器'/var/run/mysqld/mysqld.sock'(2) '检查mysqld是否正在运行,并且套接字'/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 …创build用户ERROR 2002(HY000):无法连接到本地MySQL服务器(2)ERROR 2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2)错误2002 (HY000):无法通过套接字“/var/run/mysqld/mysqld.sock”连接到本地MySQL服务器(2)添加写访问完成ERROR 2002(HY000):无法通过套接字连接到本地MySQL服务器/var/run/mysqld/mysqld.sock'(2)mysqladmin:连接到'localhost'的服务器失败的错误:'无法通过套接字连接到本地MySQL服务器'/var/run/mysqld/mysqld.sock'( 2)'检查mysqld是否正在运行,并且套接字'/var/run/mysqld/mysqld.sock'存在! 启动MySQL服务器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启动…