1 安装mysql
1.1 下载mysql
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.39-1.el6.x86_64.rpm
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.39-1.el6.x86_64.rpm
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-devel-5.6.39-1.el6.x86_64.rpm
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-5.6.39-1.el6.x86_64.rpm
可能会提示
-bash: wget: command not found
解决方法为安装 wget
yum install wget
如果服务器无法联网可以在本地下载以上的安装包,再用 rz 命令将安装包上传至服务器。
rz 命令yum 安装方法:
sudo yum install lrzsz -y
1.2 检查主机上是否安装过mysql
rpm -qa | grep mysql
如果存在 mysql-libs-5.1.73-8.el6_8.x86_64
执行卸载命令
rpm -e mysql-libs-5.1.73-8.el6_8.x86_64 --nodeps
1.3 执行安装
rpm -ivh *.rpm
可能会报错
warning: MySQL-client-5.6.39-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
libnuma.so.1()(64bit) is needed by MySQL-server-5.6.39-1.el6.x86_64
libnuma.so.1(libnuma_1.1)(64bit) is needed by MySQL-server-5.6.39-1.el6.x86_64
libnuma.so.1(libnuma_1.2)(64bit) is needed by MySQL-server-5.6.39-1.el6.x86_64
安装numactl依赖包可以解决
yum -y install numactl
1.3.1 初始化配置
rm -rf /etc/my.cnf.d/
cp /usr/share/mysql/my-default.cnf /etc/my.cnf //这个是移动配置文件目录
1.3.2 初始化
/usr/bin/mysql_install_db
1.3.3 更改权限设置
chown mysql.mysql /var/lib/mysql -R
chmod 777 /tmp/
1.3.4 更改配置文件
编辑配置文件
vim /etc/my.cnf
更改mysql的数据目录
mv /var/lib/mysql /data/
chmod -R 755 /data
启动mysql
/etc/init.d/mysql start
注:具体配置文件可参考2.4
1.3.5 设置权限
查看默认密码
cat /root/.mysql_secret
登陆数据库
mysql -uroot –pxxx
注:xxx 为默认密码
登陆数据后设置密码
SET PASSWORD = PASSWORD('密码');
创建用户并赋权:
创建用户
GRANT FILE ON *.* TO '用户名'@'登陆数据库的ip' IDENTIFIED BY '密码';
对用户赋权
GRANT REPLICATION SLAVE ON *.* TO '用户名'@'登陆数据库的ip ' IDENTIFIED BY '密码';
或:
创建用户并赋权
GRANT ALL PRIVILEGES ON *.* TO ' 用户名 '@'登陆数据库的ip ' IDENTIFIED BY '密码' WITH GRANT OPTION;
注:登陆数据库的ip 是指在哪个地址上登陆
重启mysql
/etc/init.d/mysql restart
到这mysql 服务器上的安装已经完成,主从配置可往下看。
2 主从配置
2.1 配置主从
登陆主数据库后:
show master status \G;
对从数据库创建用户并赋权:
GRANT ALL PRIVILEGES ON *.* TO 'db_slave'@'172.%' IDENTIFIED BY 'arcvideo01' WITH GRANT OPTION;
注:172.% 是指 ip 为 172 段的主机都可以通过改用户登陆
重启主mysql
/etc/init.d/mysql restart
登陆从数据库:
stop slave;
change master to master_host='hostip',master_user='db_slave',master_password='arcvideo01',master_log_file='mysql-bin.000004',master_log_pos=120;
start slave;
注: master_host 为主数据库 ip
为主数据用户名
为主数据密码
填主数据库的 File值
master_log_pos 填主数据库的 Position 值
2.2 验证主从同步是否正常
登陆从数据库中执行:
show slave status \G;
如果以下两个显示为yes则同步正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
2.3 主从链接异常处理方法
2.3.1 Last_IO_Errno: 2003
Last_IO_Errno: 2003
Last_IO_Error: error connecting to master 'xx@ip:3306' - retry-time: 60 retries:
1、 主数据库未创建用户并授权,请参照1.3.5进行创建授权
mysql查看用户指令
show grants for 'username'@'ip';
2、 两台服务器网络不通,请用ping 指令查看
linux ping指令
ping ip
3、 服务器端口未开放
编辑 iptables 开放对应端口
vim /etc/sysconfig/iptables
重启网络服务
service iptables restart
2.4 mysql 配置文件
配置文件可参考 https://www.jianshu.com/writer#/notebooks/31437967/notes/36839165