Articles of mysql

经过筛选的主 – 主复制 – 有可能吗?

我有任务来configuration我想某种怪物。 我的老板想要有两个MySQL服务器。 假设serverA和serverB有数据库db1,db2,db3,db4。 他希望serverA只能作为数据库db1和db2的主数据库,这个数据库将被复制到serverB,而serverB将成为数据库db3和db4的主数据库,并且这个数据库将被复制到serverA。 从这个描述看来,它可能被过滤的复制(使用binlog-do-db和binlog-ignore-db命令进行过滤)。 即使有可能,我也有点怀疑。 所以我的问题是可能的,如果是这样configuration生产服务器(为什么不)?

configurationApache使用密码和盐使用SQL Server身份validation

我有一个Web应用程序,我想要使用Apache身份validation保护。 我发现它使用sha1 +盐来存储密码。 由于auth_mysql_module已被弃用,我尝试使用authn_dbd_module 。 目前我正在运行debian wheezy。 这里是networking应用程序如何创build密码哈希值: <?php sha1($pw.$salt); ?> 尝试使用PHP: sha1('password'.'salt') c88e9c67041a74e0357befdff93f87dde0904214 我可以使用mysql重现哈希: SELECT SHA1(CONCAT(@pw, @salt)); 尝试使用mysql: mysql> SELECT SHA1(CONCAT('password', 'salt')); +——————————————+ | SHA1(CONCAT('password', 'salt')) | +——————————————+ | c88e9c67041a74e0357befdff93f87dde0904214 | +——————————————+ 我的apache site.conf : DBDriver mysql DBDParams "host=localhost user=<db_user> pass=<db_pass> dbname=<db_name>" <Directory /var/www/htdocs/> Options -Indexes Order allow,deny Allow from all AuthName "Please enter […]

Linux的mysql服务器不会启动,或重启

介绍 我在我的Linux机器上运行MariaDB和Apache,今天我遇到了一些问题。 我通过SSH连接到服务器,这里是我面临的一些问题。 我完全不知道我在这里做什么。 我在做什么 第1步: mysql -u USERNAME -p 错误2002(HY000):不能连接到本地MySQL服务器通过套接字'/var/run/mysqld/mysqld.sock'(2“没有这样的文件或目录”) 好吧,所以我想,让我们试试并停止MySQL服务 第2步: sudo service mysql stop 好吧,没有错误,所以重新启动服务 第3步: sudo service mysql restart mysql.service的作业失败。 有关详细信息,请参阅“systemctl status mysql.service”和“journalctl -xe”。 好,所以我最好运行这两个命令,并得到我所得到的 第4步: status mysql.service 嗯..好吧,让我们尝试另一个 第5步: journalctl -xe 没有find日志文件。 好的,我在这里输了 MySQL错误日志 150824 14:42:58 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 150824 14:42:58 [Note] /usr/sbin/mysqld (mysqld 10.0.20-MariaDB-0ubuntu0.15.04.1) […]

如何在MySQL中启用慢查询日志Galera?

我想在MySQL Galera中启用缓慢的查询日志logging。 为了做到这一点,我通过my.cnf启用了它: log_slow_queries = /var/log/mysql/mysql-slow.log long_query_time = 1 log-queries-not-using-indexes 然后,我试图重新启动一台服务器 sudo services mysql restart galera节点无法重新启动并写入error.log: mysqld_safe WSREP:无法恢复位置:2015-08-29 12:07:37 27805 [警告]使用唯一选项前缀myisam-recover而不是myisam-recover-options已被弃用,并将在未来版本中删除。 请改用全名。 2015-08-29 12:07:37 27805 [注]插件'FEDERATED'被禁用。 2015-08-29 12:07:37 27805 [ERROR]函数'innodb'已经存在2015-08-29 12:07:37 27805 … 一旦我从my.cnf删除了查询logging,服务器就会正常启动并join群集。 在Galera中启用查询日志是否有一个特殊的过程? 如果是的话,该怎么做呢?

有关将RDS MySQL数据库从一个AWS账户迁移到另一个账户的build议

目前,我正计划将AWS资源从一个帐户迁移到另一个帐户。 这包括几个MySQL RDS实例。 经过一番研究,看起来就像是需要“转储和加载”策略。 我的目标是转储服务器中的所有内容。 用户,数据库,资助,任何触发器,事件,你有什么。 我使用以下命令做了备份: $ mysqldump -h migration-test-src1.cmgwbovklkqq.us-west-2.rds.amazonaws.com -u mysql_admin -ppswd –hex-blob –routines –triggers –events –all-databases > migration-test-src1.dump 哪些工作正常,但我尝试恢复到目标RDS实例时遇到以下错误: $ mysql -h migration-test-dest1.cmgwbovklkqq.us-west-2.rds.amazonaws.com -u mysql_admin -ppswd < migration-test-src1.dump ERROR 1044 (42000) at line 38: Access denied for user 'mysql_admin'@'%' to database 'mysql' 我不太确定为什么还原不起作用。 我不是DBA,所以我希望能在这里find愿意帮助的人。 有什么我可以做的,以恢复文件? 我正在采取什么策略来恢复和恢复有缺陷的? 预先感谢您的任何build议。

mysql-cli – 超时/连接丢失时强制退出

我在/etc/profile.d/设置了超时来断开使用TMOUT非活动用户,这个工作很好,但是现在我看到用户只是通过保持一些前台进程打开,例如mysql来保持连接打开。 我意识到这可能是任何vim / less / etc,但是作为mysql-cli有各种超时的选项和重新连接断开连接(或不)有人发现了一种方法来强制退出mysql-cli连接断开倾倒用户回bash?

更改MySQL“lob_bin_trust”variables

我早些时候看过这个话题 ,但不符合我的需求。 有没有办法在我的系统中设置variables“log_bin_trust_function_creators”,除了在mysql启动时指定它(mysqld –log-bin-trust-function-creators)? 我不知道是因为我们的MySQL在System Start中自动运行,而且我不想更改我的init.d / mysqldconfiguration。 我认为向my.cnf中添加一些var将是一个完美的方法,但在MySQL的log_bin文档中 ,没有任何关联。 顺便说一下,重新启动我的服务器在生产testing这种configuration是不是我想的,所以我指望你的考虑… 先谢谢你!

复制安装程序什么是my.ini中的MySQL auto_increment和偏移量的值

我已经安装主master mysql复制来同步两个服务器中的更改。 但现在我想安装6服务器是可能的? 我正在做6,因为当一个区域失去了通过广域网的连接时,它将继续它的服务,然后在连接恢复时同步它。 现在我遇到了自动增量增量和自动增量偏移的问题,以避免数据冲突。 而现在我对此感到困惑,我读过一篇文章,做得最差。 所以现在我想知道什么应该是我的自动增量和偏移在每个服务器的正确值。 提前致谢。

MySQL和高jdb2 io /等

我正在使用InnoDB表运行MySQL 5.5。 每秒约有200个查询。 还有50万行或更多的表格。 但是,我对服务器负载和IO /尤其是与jdb2等待有很大的问题。 jdb2 / md2-8正在采取99%IO /等待看iotop输出图像: Iotop输出 盒子规格:Xeon 1246 v3,32 GB RAM,2x 240英特尔SSD RAID 1 我不知道我的configuration是否有问题,或者是与RAID有关的问题。 有小费吗 ? 我的MySQL my.cfg: innodb_file_per_table = 1 join_buffer_size = 1M open_files_limit = 10000 myisam_use_mmap = 1 query_cache_type = 1 table_open_cache = 2000 concurrent_insert = 2 max_connections = 3000 query_cache_size = 16M key_buffer_size = 16M read_buffer_size […]

MySQL的持久性tmpd​​ir在奴隶:只使用tmpdir或slave_load_tmpdir?

在设置复制的MySQL数据库时,我查看了有关tmpdir的手册,并对tmpdir和slave_load_tmpdir这两个variables有些困惑。 我知道奴隶需要一些数据在重新启动之间持续,但我不知道是否只有设置slave_load_tmpdir是足够的,或者如果两者都应设置为一个永久目录: 关于tmpdir , 手册说 : 用于临时文件和临时表的目录。 […] 如果MySQL服务器充当复制从服务器,则不应将tmpdir设置为指向基于内存的文件系统上的目录,或者指向服务器主机重新启动时清除的目录。 复制从服务器需要一些临时文件以保证机器重新启动,以便复制临时表或LOAD DATA INFILE操作。 如果服务器重新启动时临时文件目录中的文件丢失,则复制将失败。 您可以使用slave_load_tmpdirvariables设置从站的临时目录。 在这种情况下,从站不会使用通用tmpdir值,您可以将tmpdir设置为非永久位置。 关于slave_load_tmpdir , 手册说 : 从机创build临时文件的目录名称。 该选项默认等于tmpdir系统variables的值。 当从属SQL线程复制LOAD DATA INFILE语句时,它将从中继日志中加载的文件提取到临时文件中,然后将这些文件加载​​到表中。 […] 由此选项指定的目录应位于基于磁盘的文件系统(而不是基于内存的文件系统)中,因为用于复制LOAD DATA INFILE的临时文件必须在机器重新启动后存在。 该目录也不应该是在系统启动过程中被操作系统清除的目录。 所以从机需要一个持久的临时目录来“复制临时表或LOAD DATA INFILE操作”,但是slave_load_tmpdir没有提到临时表,只有LOAD DATA INFILE(也反映在它的名字中)。 另一方面,手册指出,如果slave_load_tmpdir是持久的,则tmpdir可以处于非永久位置。 有没有人有任何见解?