mysql-cluster集群环境搭建

系统:Ubuntu16.04

mysql-cluster:mysql-cluster-gpl-7.6.7-linux-glibc2.12-x86_64.tar.gz

参考链接:https://www.cnblogs.com/xuri/p/3434064.html

mysql-cluster集群中的节点有三类:管理节点、数据节点和mysql节点,搭建过程和参考链接中基本一致,下面只记录不同点。

1.执行命令:scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data错误

改为执行:bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data  接下来提示mysql_install_db已经不能用了,继续如下命令:

bin/mysqld  --user=mysql --datadir=/usr/local/mysql/data

 

2.执行命令:/etc/init.d/mysql.server start无法启动mysql服务,可能原因如下:

(1)之前安装过mysql,需要把系统的mysql配置文件删除或者重命名

mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak

(2)提示:Starting mysql.server (via systemctl): mysql.server.serviceFailed to start mysql.server.service: Unit mysql.server.service not found.

可跳过此服务启动,已经通过前面的bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data启动mysql服务

 

3.执行命令:/usr/local/mysql/bin/mysql_secure_installation提示密码错误

需要用mysql安全模式修改root密码

service mysql stop

mysqld_safe --skip-grant-tables &

为了安全可以这样禁止远程连接:

mysqld_safe --skip-grant-tables --skip-networking &

mysql -p

更改密码:
mysql> update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';

mysql> flush privileges;
mysql> quit;

4.无法远程用root账号登录mysql的解决办法

本地登录mysql

mysql -u root -p

mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>FLUSH  PRIVILEGES;

5.搭建mysql集群的代理服务器,mysql-proxy已经不再支持,使用性能更好的mysql-router

参考链接:https://blog.csdn.net/dbabruce/article/details/51035049

有个变化的地方需要注意,

安装后配置文件地址为/etc/mysqlrouter/mysqlrouter.conf

6.插入数据报错“table is full”

登录ndb_mgm可以用以下命令查看各个节点内存使用情况:

all report memoryusage

修改数据节点的内存限制,在配置文件/var/lib/mysql-cluster/config.ini中

DataMemory=80M   //调整到实际情况合适的值,不能超过物理内存
IndexMemory=18M

7.启动数据节点时,只有第一次启动需要加–-initial参数,修改管理节点配置,或者重启服务不需要加此参数,不然ndbcluster引擎的表都会丢失

 

 

你可能感兴趣的:(mysql-cluster集群环境搭建)