步骤:
(1)查看CentOS7自带的mysql
输入 rpm -qa | grep mysql
rpm -qa | grep -imariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
rpm -qa | grep -imysql
(2)将自带的mysql卸载
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
(3)上传Mysql到linux
(4)安装mysql的依赖
yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6
yum updatelibstdc++-4.4.7-4.el6.x86_64
yum install -y perl-Module-Install.noarch
yum install net-tools -y
yum install libncurses.so.5
(5)解压Mysql到/usr/local/下的mysql目录(mysql目录需要手动创建)内
cd /usr/local
mkdirmysql
tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /usr/local/mysql
(6)在/usr/local/mysql下安装mysql
安装服务器端:rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
安装客户端:rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
(7)启动mysql
service mysql start
(8)将mysql加到系统服务中并设置开机启动
加入到系统服务:chkconfig --add mysql
自动启动:chkconfigmysql on
(9)登录mysql
mysql安装好后会生成一个临时随机密码,存储位置在/root/.mysql_secret
msyql –u root -p
(10)修改mysql的密码
set password = password('root');
(11)开启mysql的远程登录
默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启 远程登录mysql的权限
登录mysql后输入如下命令:
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
(12)开放Linux的对外访问的端口3306
systemctl stop firewalld
systemctl mask firewalld
yum install iptables-services
systemctl enable iptables
iptables -P OUTPUT ACCEPT
service iptables save
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
service iptables save
cat /etc/sysconfig/iptables
service iptables restart
systemctl reload iptables
cd /etc/
主服务器配置
cd /usr/share/mysql/
cp my-default.cnf /etc/my.cnf
cd /etc/
vi my.cnf
第一步:修改my.cnf文件:
在[mysqld]段下添加:
binlog-do-db=db1 binlog-ignore-db=mysql #启用二进制日志 log-bin=mysql-bin #服务器唯一ID,一般取IP最后一段 server-id=130 |
第二步:重启mysql服务
service mysql restart
service mysql start
第三步:建立帐户并授权slave
mysql>GRANT FILE ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';
mysql>GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to 'backup'@'%' identified by '123456';
#一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.168.145.226,加强安全。
刷新权限
mysql> FLUSH PRIVILEGES;
查看mysql现在有哪些用户
mysql>select user,host from mysql.user;
第四步:查询master的状态
mysql> show master status;
从服务器配置
cd /usr/share/mysql/
cp my-default.cnf /etc/my.cnf
cd /etc/
vi my.cnf
第一步:修改my.conf文件
[mysqld]
server-id=166
重新启动
service mysql restart
service mysql start
第二步:配置从服务器
mysql>change master to master_host='192.168.25.134',master_port=3306,master_user='backup',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120
注意语句中间不要断开,master_port为mysql服务器端口号(无引号),master_user为执行同步操作的数据库账户,“120”无单引号(此处的120就是show master status 中看到的position的值,这里的mysql-bin.000001就是file对应的值)。
第二步:启动从服务器复制功能
Mysql>start slave;
第三步:检查从服务器复制功能状态:
mysql> show slave status
……………………(省略部分)
Slave_IO_Running: Yes //此状态必须YES
Slave_SQL_Running: Yes //此状态必须YES
……………………(省略部分)
注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。
以上操作过程,从服务器配置完成。
步骤:
(1)查看当前Linux系统是否已经安装java
输入 rpm -qa | grep java
(2)卸载两个openJDK
输入rpm -e --nodeps 要卸载的软件
(3)上传jdk到linux
(4)安装jdk运行需要的插件yum install glibc.i686
(5)解压jdk到/usr/local下 tar –xvf jdk-7u71-linux-i586.tar.gz –C /usr/local
(6)配置jdk环境变量,打开/etc/profile配置文件,将下面配置拷贝进去
#set java environment
JAVA_HOME=/usr/local/jdk1.7.0_71
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
安装mycat同时要添加下面这一行代码
MYCAT_HOME=/usr/local/mycat
(7)重新加载/etc/profile配置文件 source /etc/profile
第一步:把MyCat的压缩包上传到linux服务器
Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz
第二步:解压缩,得到mycat目录
tar zxf Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz
cp -r mycat /usr/local/
第三步:进入mycat/bin,启动MyCat
启动命令:./mycat start
停止命令:./mycat stop
重启命令:./mycat restart
注意:可以使用mysql的客户端直接连接mycat服务。默认服务端口为8066
开启8066端口
systemctl stop firewalld
systemctl mask firewalld
yum install iptables-services
systemctl enable iptables
iptables -P OUTPUT ACCEPT
service iptables save
iptables -A INPUT -m state --state NEW -m tcp -p tcp –dport 8066 -j ACCEPT
service iptables save
cat /etc/sysconfig/iptables
service iptables restart
systemctl reload iptables
配置schema.xml
Schema.xml介绍
Schema.xml作为MyCat中重要的配置文件之一,管理着MyCat的逻辑库、表、分片规则、DataNode以及DataSource。弄懂这些配置,是正确使用MyCat的前提。这里就一层层对该文件进行解析。
schema 标签用于定义MyCat实例中的逻辑库
Table 标签定义了MyCat中的逻辑表
dataNode 标签定义了MyCat中的数据节点,也就是我们通常说所的数据分片。
dataHost标签在mycat逻辑库中也是作为最底层的标签存在,直接定义了具体的数据库实例、读写分离配置和心跳语句。
注意:若是LINUX版本的MYSQL,则需要设置为Mysql大小写不敏感,否则可能会发生表找不到的问题。在MySQL的配置文件中my.ini [mysqld] 中增加一行lower_case_table_names = 1 |
Schema.xml配置
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> password="root"> writeType="0" dbType="mysql" dbDriver="native" switchType="2" slaveThreshold="100"> password="123">
|
配置server.xml
(1)Server.xml介绍
server.xml几乎保存了所有mycat需要的系统配置信息。最常用的是在此配置用户名、密码及权限。
(2)Server.xml配置
|