我在Ubuntu 16.04服务器上用MariaDB 10.0取代了mySQL 5.7。 我在使用mysqldump安装之前备份了数据库。 在MariaDB安装期间,它表示一个“标志文件”目前意味着数据库不是二进制兼容的,所以我恢复了备份后安装。 MariaDB不喜欢我的特权表,所以我试图运行mysql_upgrade。 这是输出的日志(只有详尽度和系统表): root@server:~# mysql_upgrade –force -s -vvv Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck The –upgrade-system-tables option was used, user tables won't be touched. Phase 1/6: Checking and upgrading mysql database Running 'mysqlcheck with default connection arguments # Connecting to localhost… # Disconnecting from localhost… Processing […]
我想使用mysqlbackup在Microsoft Azure上托pipe的SUSE Enterprise 12上运行mariadb的自动备份过程。 这需要一个mariadb / mysql用户名和密码。 我想避免在运行备份过程的脚本中硬编码密码,因为这是潜在的安全风险。 这样做的推荐方法是使用命令行实用程序mysql_config_editor创build一个包含用户名和密码的encryptionconfiguration文件(通常是〜/ .mylogin.cnf)。 你可以通过mysqlbackup命令的参数–login-path = file来引用这个encryption的configuration文件。 问题是,公用程序mysql_config_editor可用于Debian / Ubuntu,但根据我所见,尚未打包用于SUSE。 有任何想法吗? 可能性可能是: find在SUSE下安装mysql_config_editor的另一种方法 – 但是我并不想从源代码或其他类似的复杂情况中编译 – 安装过程必须在以后交给别人。 在另一台主机(例如Ubuntu)上运行mysql_config_editor,并将生成的configuration文件复制到目标环境。 我不清楚在这种情况下encryptionscheme是否工作,或者是否与创buildconfiguration文件的主机相关联。 使用一些其他的方式来获取密码。
如果“max_connections”设置为“75”,这是否意味着75个人最多可以访问数据库,直到连接closures? 在WordPress的网站上,当访问者加载网站时,是否会build立MySQL连接? 如果是这样,它会立即closures吗? 如果WordPress网站不允许评论或发布/上传任何forms,是否有任何数据库连接需要? 或者只是最初拉动WordPress? ach页面是否需要新的连接? 如果我在一个VPS上运行3个WordPress网站,max_connectionsvariables全局覆盖3个数据库,对吗? 澄清一下,所有的数据库共有75个连接,而不是75个,对吗? 调整max_connectionsvariables时是否存在依赖或必须更改的variables?
我有mariadb版本 21年1月10日 – MariaDB的-1〜杰西 (在debian 8上)通过ssl运行主服务器复制场景,它的工作原理是: MariaDB [(none)]> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: <MASTER_FQDN> Master_User: replication_user Master_Port: 3306 Connect_Retry: 10 Master_Log_File: sqlmaster-bin.000035 Read_Master_Log_Pos: 331 Relay_Log_File: mysqld-relay-bin.000002 Relay_Log_Pos: 623 Relay_Master_Log_File: sqlmaster-bin.000035 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 […]
请帮助激活MariaDB的NUMA节点交叉。 在CentOS Linux版本7.3.1611上使用MariaDB 10.1.21。 按照https://mariadb.com/kb/en/mariadb/systemd/中的说明添加/etc/systemd/system/mariadb.service.d/custom.conf: [Service] ExecStart=/usr/bin/numactl –interleave=all /usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION / var / log / messages显示numactl被调用: Feb 23 10:40:46 host systemd: Starting MariaDB database server… Feb 23 10:40:46 host numactl: 2017-02-23 10:40:46 140580844599552 [Note] /usr/sbin/mysqld (mysqld 10.1.21-MariaDB) starting as process 37349 … Feb 23 10:40:51 host systemd: Started MariaDB database server. 但numastat显示NUMA节点交错不起作用: [root@host […]
MariaDB [(none)]> show variables like '%skip_networking%'; +—————–+——-+ | Variable_name | Value | +—————–+——-+ | skip_networking | OFF | +—————–+——-+ 1 row in set (0.00 sec) 当我尝试 mysql -uroot -p -h 192.168.0.30 我收到了这个 ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.0.30' (111 "Connection refused") 在文件中 /etc/mysql/mariadb.conf.d/50-server.cnf 我有这个: bind-address = 0.0.0.0 # skip-networking 我希望你能帮助我。 本地连接工作。 […]
哪里是最好的地方存储MySQL的根密码? 我一直只把它放在root用户的/root/.my.cnf文件中,对于正常的更新,备份等工作正常。 但是,(debian)/ ubuntu logrotate脚本(例如)不查看该文件。 我目前通过添加: !include /root/.my.cnf 到/etc/mysql/debian.cnf文件,但这似乎有点…错了。 一开始,有很大的 # Automatically generated for Debian Scripts. DO NOT TOUCH 在文件的顶部。 在/etc/passwd没有debian-sys-maint用户,我认为这是与它有关的 – 但现在是那个历史吗? 任何目前的最佳做法/文件我失踪?
我有一个由两个节点组成的MariaDB( 5.5.41 )群集被configuration为主从。 所有读取和写入都发送到同一个节点。 我几个星期以来一直在调查一些僵局问题。 定期,我的PHP应用程序返回Message: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction. Message: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction. 我以前可以运行SHOW ENGINE INNODB STATUS; 并会看到最后一个死锁,但由于某种原因,在一个小的无关configuration更改(将innodb_buffer_pool_instances从1更改为19)和重新启动两个节点之后,执行SHOW ENGINE INNODB STATUS; 不会出现任何僵局。 但是,如果我连接我的mysql客户端,并手动创build事务导致死锁,状态命令确实显示死锁。 我试图打开和closuresinnodb_print_all_deadlocks 。 mysql-error.log没有显示,除了我手动触发的死锁。 为什么我的PHP应用程序创build的死锁不再显示?
在使用我们encryption时,以下目录只能由root访问: /etc/letsencrypt/live/ /etc/letsencrypt/archive/ 启动MariaDB时,它以“mysql”用户身份运行,因此当您尝试使用Let's Encrypt证书启用SSL时,您会收到一条错误消息。 [Warning] SSL error: SSL_CTX_set_default_verify_paths failed 这是迄今为止的预期行为。 当我执行时: chmod 755 /etc/letsencrypt/live/ chmod 755 /etc/letsencrypt/archive/ 这允许MariaDB启用SSL,在连接到MariaDB时可以使用以下命令进行检查: show variables like '%ssl%' 那么,问题是这是一个多大的安全问题。 Nginx可以使用让我们使用默认权限对证书进行encryption,尽pipe它在我的系统上以用户“nginx”的身份运行,但由于它使用<1024以下的端口,所以似乎以比MariaDB更高的权限运行。 chmod 755使letsencrypt私钥文件“世界可读”在我的系统…丑陋。 您只能通过SSH公钥authentication连接到我的服务器,root不允许login。 被允许login的用户除了su root之外不能做任何事情,所以甚至在系统上的暴力似乎也是不可能的。 还有一些系统上的其他sftp用户是chroot,无法访问/ etc / … 所以我应该是安全的,但我不知道是否有任何解决scheme,而不使letsencrypt目录世界可读。 (当然,除了使用MariaDB的自签名证书)
我正在尝试通过ssh隧道进行mariadb复制。 这是我的configuration。 首先,我创build了一个从我的复制服务器(R1)到我的主服务器(M1)的ssh隧道。 ssh -L 13306:localhost:3306 -p 22111 admin@M1 -f -N 两个mariadb实例已经在两台服务器上运行。 而且我已经在M1 mariadb实例上创build了一个复制用户。 CREATE USER 'replication'@'127.0.0.1' identified by 'xxxx'; GRANT REPLICATION SLAVE on *.* to 'replication'@'127.0.0.1' REQUIRE SSL; 从R1我检查我是否可以连接到M1 mariadb实例。 mysql -u replication -pxxxx -h 127.0.0.1 –protocol=TCP -P 13306 以上操作成功。 但是现在,当我指示复制实例R1 更改主机并启动从机时 ,它将失败。 CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='replication', MASTER_PASSWORD='xxxx', MASTER_PORT=13306, MASTER_LOG_FILE='mysql-bin.000022', MASTER_LOG_POS=9164599, MASTER_SSL=1, MASTER_SSL_CA='/etc/tls/ca-cert.pem', […]