我正在设置一个MySQL Master数据库,它复制到几个Slave数据库。 我的问题是监视和/或testing从属数据库是否最新的最佳实践是什么,并且在出现导致复制停止的错误时提醒pipe理员。 我search了监视工具,但一直没能find合适的东西。 另外,testing从站之间同步的“最佳实践”方法是什么? 有没有像unit testing数据库复制? 我很抱歉,如果我对这个问题的无知冒犯了任何人。
我试图将数据从一个MySQL数据库复制到另一台服务器上使用Navicat for MySQL。 但是,当我尝试转移时,我一直收到这个错误。 我已经运行mysql_upgrade并完成,但我仍然得到这个错误。 旧的服务器使用WampServer的Apache,MySQL和PHP。 我怎样才能解决这个问题,所以我可以做数据传输? 编辑没关系…我是个白痴, 只是不得不重新启动MySQL(你会认为它会自动发生!)
Debian Stretch可能会在今年年中发布。 mysql-server-5.x将不再可用并被replace为mariadb-server-10.1 。 我不觉得自己已经准备好迈出了重要的一步,并转移到MariaDB,我宁愿留在MySQL 5.6或 – 更好 – 5.7。 你会推荐什么 – 从Debian的unstable库中使用5.7 ? 去用oracle提供的软件包 ? 一些其他的select? 谢谢!
我已经inheritance了一个非常不安全的PHP Web应用程序,有一个SQL注入的历史。 我不能立即修复这些脚本,而是需要他们运行才能运行网站,并且首先从php端处理php脚本过多。 不过,我确实可以完全控制服务器和服务器上的软件,包括完全控制mysql数据库及其用户。 让我们估计一下总共300个脚本,40个半私有脚本和20个私有/安全脚本。 所以我的问题是如何最好的保护数据,隐含的假设,从PHP方面的SQL注入(例如在300个脚本列表中的某处)是不可避免的? 我的第一个草案计划是在mysql数据库中创build多个不同权限的用户层。 通过这种方式,我可以确保数据和脚本最需要保护第一(“私人/安全”类别),然后是第二层数据库表和脚本(“半私人”),最后处理安全性其余的PHP应用程序总体上(最终确保数据库表,基本上处理“公共”信息,例如,甚至只是查看主页需要)的结果。 因此,3个数据库用户(公用,半专用和安全)使用不同的用户连接三组不同的脚本(安全脚本,半私有脚本和公用脚本)。 通过这种方式,我可以阻止所有对“公开”或“半私人”的“安全”访问,以及“公开”的“半私密”访问。 还有其他的select,我应该看看? 如果一个分层的接入系统是一条路,那么最好的方法是什么?
我有MySQL主从复制,工作正常; 我GOOGLE了整个networking和MySQL网站find使用复制的标准程序,但什么也没有find。 就好像pipe理员很乐意复制一样,但是在进行灾难恢复的时候,没有最初的计划被实施和公开分享。 我想知道的是如何让奴隶机器取代主人的情况下,后来被损坏,烧等。我想奴隶机器应采取主人的networking地址,但还有什么应该做的? 例如,更改MySQL用户权限或运行一些命令! 如果有的话请包括参考。
插入到下表中需要70秒才能完成: CREATE TABLE IF NOT EXISTS `productsCategories` ( `categoriesId` int(11) NOT NULL, `productsId` int(11) NOT NULL, PRIMARY KEY (`categoriesId`,`productsId`), KEY `categoriesId` (`categoriesId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 表中有大约10万行,磁盘占用7MB。 MySQL中有一些可以提高写入性能的设置吗? 我的my.cnf文件如下: log-slow-queries="/var/log/mysql/slow-query.log" long_query_time=1 log-queries-not-using-indexes innodb_buffer_pool_size=4G innodb_log_buffer_size=4M innodb_flush_log_at_trx_commit=2 innodb_thread_concurrency=8 innodb_flush_method=O_DIRECT query_cache_size = 6G key_buffer_size = 284M query_cache_limit = 1024M thread_cache_size = 128 table_cache = 12800 sort_buffer_size=2M read_rnd_buffer_size = […]
我的计算机上有用于开发的MySQL,但大部分时间我都不使用它。 我怎么能configuration我的Debian,所以它不会启动MySQL,但只有当我告诉它(使用service mysql start )。 我做了同样的事情apache2使用, update-rc.d -f apache2 remove 但是我找不到用MySQL做这个的方法。
快速的问题:我已经创build了可以预热我的数据库的命令。 事情是这些select是大的。 当我做这样的select时,我把所有“jiba-jaba”都放到terminal窗口中。 你怎么能让mysql做“安静”的select? 不用花时间把所有的垃圾打印到我的terminal上?
不幸的是,我有一个破折号的数据库名称。 当mysql报告语法错误时,如何授予对该数据库的访问权限。 例如 GRANT SELECT,INSERT,UPDATE,DELETE ON astpp.* TO 'portal'@'localhost' IDENTIFIED BY 'Ab7g12Xh35' WITH GRANT OPTION; 作品,但是 GRANT SELECT,INSERT,UPDATE,DELETE ON astpp-eth01.* TO 'portal'@'localhost' IDENTIFIED BY 'Ab7g12Xh35' WITH GRANT OPTION; 才不是。 也不: GRANT SELECT,INSERT,UPDATE,DELETE ON 'astpp-eth01'.* TO 'portal'@'localhost' IDENTIFIED BY 'Ab7g12Xh35' WITH GRANT OPTION;
无法启动MySQL: 130408 11:31:22 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql /usr/libexec/mysqld: Table 'plugin' is read only 130408 11:31:22 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 130408 11:31:22 InnoDB: Initializing buffer pool, size = 8.0M 130408 11:31:22 InnoDB: Completed initialization of buffer pool 130408 11:31:23 InnoDB: Started; log sequence number […]