我正在尝试在Debian 7 Wheezy上安装MysqL 5.6 ..
安装mysql数据库/文件夹/ var / lib / MysqL / MysqL后为空
# groupadd MysqL # useradd -r -g MysqL MysqL # apt-get install libaio1 # wget http://cdn.MysqL.com/Downloads/MysqL-5.6/MysqL-5.6.12-debian6.0-x86_64.deb # dpkg -i MysqL-5.6.12-debian6.0-x86_64.deb # cd /usr/local # ln -s /opt/MysqL/server-5.6 MysqL # cd MysqL # scripts/MysqL_install_db --user=MysqL --datadir=/var/lib/MysqL # rm /opt/MysqL/server-5.6/my.cnf # rm /etc/MysqL/my.cnf # ln -s /var/ini/my.cnf /opt/MysqL/server-5.6/my.cnf # chown -R root . # chown -R MysqL /var/lib/MysqL # cp support-files/MysqL.server /etc/init.d/MysqL # alias MysqL=/opt/MysqL/server-5.6/bin/MysqL # alias MysqLadmin=/opt/MysqL/server-5.6/bin/MysqLadmin # service MysqL start # update-rc.d MysqL defaults
my.cnf中
# # The MysqL database server configuration file. # # You can copy this to one of: # - "/etc/MysqL/my.cnf" to set global options,# - "~/.my.cnf" to set user-specific options. # # One can use all long options that the program supports. # Run program with --help to get a list of available options and with # --print-defaults to see which it would actually understand and use. # # For explanations see # http://dev.MysqL.com/doc/MysqL/en/server-system-variables.html # This will be passed to all MysqL clients # It has been reported that passwords should be enclosed with ticks/quotes # escpecially if they contain "#" chars... # Remember to edit /etc/MysqL/debian.cnf when changing the socket location. [client] port = 3306 socket = /var/run/MysqLd/MysqLd.sock # Here is entries for some specific programs # The following values assume you have at least 32M ram # This was formally known as [safe_MysqLd]. Both versions are currently parsed. [MysqLd_safe] socket = /var/run/MysqLd/MysqLd.sock nice = 0 [MysqLd] # # * Basic Settings # user = MysqL pid-file = /var/run/MysqLd/MysqLd.pid socket = /var/run/MysqLd/MysqLd.sock port = 3306 basedir = /usr/local/MysqL datadir = /var/lib/MysqL tmpdir = /tmp lc-messages-dir = /opt/MysqL/server-5.6/share/english skip-external-locking # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1 # # * Fine Tuning # key_buffer = 16M max_allowed_packet = 16M thread_stack = 192K thread_cache_size = 8 # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched myisam-recover = BACKUP #max_connections = 100 #table_cache = 64 #thread_concurrency = 10 # # * Query Cache Configuration # query_cache_limit = 1M query_cache_size = 16M # # * Logging and Replication # # Both location gets rotated by the cronjob. # Be aware that this log type is a performance killer. # As of 5.1 you can enable the log at runtime! #general_log_file = /var/log/MysqL/MysqL.log #general_log = 1 # # Error logging goes to syslog due to /etc/MysqL/conf.d/MysqLd_safe_syslog.cnf. # # Here you can see queries with especially long duration #log_slow_queries = /var/log/MysqL/MysqL-slow.log #long_query_time = 2 #log-queries-not-using-indexes # # The following can be used as easy to replay backup logs or for replication. # note: if you are setting up a replication slave,see README.Debian about # other settings you may need to change. #server-id = 1 #log_bin = /var/log/MysqL/MysqL-bin.log expire_logs_days = 10 max_binlog_size = 100M #binlog_do_db = include_database_name #binlog_ignore_db = include_database_name # # * InnoDB # # InnoDB is enabled by default with a 10MB datafile in /var/lib/MysqL/. # Read the manual for more InnoDB related options. There are many! # # * Security Features # # Read the manual,too,if you want chroot! # chroot = /var/lib/MysqL/ # # For generating SSL certificates I recommend the OpenSSL GUI "tinyca". # # ssl-ca=/etc/MysqL/cacert.pem # ssl-cert=/etc/MysqL/server-cert.pem # ssl-key=/etc/MysqL/server-key.pem [MysqLdump] quick quote-names max_allowed_packet = 16M [MysqL] #no-auto-rehash # faster start of MysqL but no tab completition [isamchk] key_buffer = 16M # # * IMPORTANT: Additional settings that can override those from this file! # The files must end with '.cnf',otherwise they'll be ignored. # !includedir /etc/MysqL/conf.d/
130619 14:28:13 MysqLd_safe Starting MysqLd daemon with databases from /var/lib/MysqL 2013-06-19 14:28:14 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2013-06-19 14:28:14 6582 [Warning] Using pre 5.5 semantics to load error messages from /opt/MysqL/server-5.6/share/english/. 2013-06-19 14:28:14 6582 [Warning] If this is not intended,refer to the documentation for valid usage of --lc-messages-dir and --language parameters. 2013-06-19 14:28:14 6582 [Note] Plugin 'FEDERATED' is disabled. /usr/local/MysqL/bin/MysqLd: Table 'MysqL.plugin' doesn't exist 2013-06-19 14:28:14 6582 [ERROR] Can't open the MysqL.plugin table. Please run MysqL_upgrade to create it. 2013-06-19 14:28:14 6582 [Note] InnoDB: The InnoDB memory heap is disabled 2013-06-19 14:28:14 6582 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2013-06-19 14:28:14 6582 [Note] InnoDB: Compressed tables use zlib 1.2.3 2013-06-19 14:28:14 6582 [Note] InnoDB: Using Linux native AIO 2013-06-19 14:28:14 6582 [Note] InnoDB: Not using cpu crc32 instructions 2013-06-19 14:28:14 6582 [Note] InnoDB: Initializing buffer pool,size = 128.0M 2013-06-19 14:28:14 6582 [Note] InnoDB: Completed initialization of buffer pool 2013-06-19 14:28:14 6582 [Note] InnoDB: Highest supported file format is Barracuda. 2013-06-19 14:28:14 6582 [Note] InnoDB: 128 rollback segment(s) are active. 2013-06-19 14:28:14 6582 [Note] InnoDB: Waiting for purge to start 2013-06-19 14:28:14 6582 [Note] InnoDB: 5.6.12 started; log sequence number 1600637 2013-06-19 14:28:14 6582 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306 2013-06-19 14:28:14 6582 [Note] - '127.0.0.1' resolves to '127.0.0.1'; 2013-06-19 14:28:14 6582 [Note] Server socket created on IP: '127.0.0.1'. 2013-06-19 14:28:14 6582 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'MysqL.user' doesn't exist 130619 14:28:14 MysqLd_safe MysqLd from pid file /var/run/MysqLd/MysqLd.pid ended
解决方法
我正在使用Ubuntu(基于Debian)并且成功地执行了非常类似的步骤.但是我下载了debian包,而不是二进制包:
http://downloads.mysql.com/archives/mysql-5.6/mysql-5.6.11-debian6.0-x86_64.deb
http://downloads.mysql.com/archives/mysql-5.6/mysql-5.6.11-debian6.0-x86_64.deb
然后我跑了:
sudo apt-get install libaio1 sudo groupadd MysqL sudo useradd -r -g MysqL MysqL wget -O MysqL-5.6.11-debian6.0-x86_64.deb \ http://downloads.MysqL.com/archives/MysqL-5.6/MysqL-5.6.11-debian6.0-x86_64.deb sudo dpkg -i MysqL-5.6.11-debian6.0-x86_64.deb cd /usr/local sudo ln -s /opt/MysqL/server-5.6 MysqL cd MysqL sudo scripts/MysqL_install_db --user=MysqL sudo chown -R root . sudo chown -R MysqL data sudo cp support-files/MysqL.server /etc/init.d/MysqL sudo service MysqL start sudo ./bin/MysqL_secure_installation
最后一步是可选的.
编辑
我刚下载了你使用过的.tar.gz,这就是消息来源.所以基本上你需要安装CMAKE并自己构建MysqL.我在2周前做过这个并不是那么困难(如果你之前已经在linux上构建了东西:))但我怀疑你是否需要经历这个负担.您只需要找出.deb安装报告的错误并在此处共享,以便我们提供帮助.
UPDATE
对于启动MysqL的问题,在/etc/init.d/MysqL文件中(在上面的步骤中从/opt/MysqL/server-5.6/support-files/MysqL.server复制)更改为48-49行空
basedir= datadir=
至
basedir=/usr/local/MysqL datadir=/usr/local/MysqL/data
(或任何需要的路径)
注意你可能需要在/etc/my.cnf的[client]和[MysqLd]部分添加(这个debian包期望这个文件在/ etc OR /opt/MysqL/server-5.6而不是/ etc / MysqL)
socket = /var/run/MysqLd/MysqLd.sock
或者您可能遇到从PHP或其他编程语言连接的问题.