一、centos7安装mysql5.7
1目录规划
安装文件下载目录:/data/software Mysql目录安装位置:/usr/local/mysql 数据库保存位置:/data/mysql 日志保存位置:/data/log/mysql
2下载mysql 在官网:http://dev.mysql.com/downloads/mysql/ 中,选择以下版本的mysql下载:
执行如下命令:
mkdir -p /data/software
cd /data/software
--建议:在windows上使用迅雷下载,上传到 /data/software目录下;
直接linux下载命令:
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
3解压压缩包到目标位置
tar -xzvf /data/software/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
mv /data/software/mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql
4创建数据仓库目录
mkdir -p /data/mysql
ls /data/
5新建mysql用户、组及目录
groupadd mysql ---新建一个msyql组
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql ---新建msyql用户禁止登录shell
6改变目录属有者
cd /usr/local/mysql
pwd
chown -R mysql .
chgrp -R mysql .
chown -R mysql /data/mysql
7配置参数
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
此处需要注意记录生成的临时密码,yJsxro%lo90y
bin/mysql_ssl_rsa_setup --datadir=/data/mysql
8修改系统配置文件
cd /usr/local/mysql/support-files
cp -rf my-default.cnf /etc/my.cnf
cp -rf mysql.server /etc/init.d/mysql
vim /etc/init.d/mysql
basedir=/usr/local/mysql
datadir=/data/mysql
9启动mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin
/etc/init.d/mysql start
mysql -hlocalhost -uroot -p
--如果出现:-bash: mysql: command not found
--就执行: # ln -s /usr/local/mysql/bin/mysql /usr/bin --没有出现就不用执行
--输入第6步生成的临时密码
--修改密码
mysql> set password=password('GZml136');
--设置root账户的host地址(修改了才可以远程连接)
-------------------------------------------------------------------------------------------------------------------------
注意:不知道什么原因 只要设置了密码带 'GZml136!#^这种带特殊符号的登录就会报错这种
直接在命令写密码也不行的
mysql -uroot -pGZml136!#^
------------------------------------------------------------------------------------------------------------------------
mysql> grant all privileges on *.* to 'root'@'%' identified by 'GZml136';
mysql>flush privileges;
mysql> use mysql;
mysql> select host,user from user;
exit
测试使用新密码登录
mysql -hlocalhost -uroot -pGZml136
exit
10添加系统路径
vim /etc/profile
export PATH=/usr/local/bin:$PATH
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile
11配置mysql自动启动
chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on
本地Navicat连不上Linux虚拟机MySQL数据库问题
systemctl restart msyql
到这里mysql安装完毕--------------------------------如果要安装mysql主主等集群每台安装都相同
扩展:
注意:如果本地Navicat连不上Linux虚拟机MySQL数据库问题
1、有没有赋予ip权限
mysql -hlocalhost -uroot -pGZml136
mysql> grant all privileges on . to root@"%" identified by "GZml136";
这表示是给本地ip赋予了所有的权限,包括远程访问权限,%百分号表示允许任ip访问数据库。
mysql> flush privileges;
重新加载,,退出
mysql>exit
然后,重启数据库
systemctl restart mysql
二、开始配置mysql主主集群
master : 192.168.1.50
backup: 192.168.1.31
1.配置集群master
vim /etc/my.cnf #开启二进制日志,设置id
server-id = 1 #backup这台设置2 这个选项有的注意1和2
log-bin = mysql-bin #这个选项有的
binlog-ignore-db = mysql,information_schema #忽略写入binlog日志的库
auto-increment-increment = 2 #字段变化增量值
auto-increment-offset = 1 #初始字段ID为1
slave-skip-errors = all #忽略所有复制产生的错误
如图:
systemctl restart mysql
mysql –uroot –pGZml136
Mysql>show master status; 会看到以下图,记住框出来的部分
mysql-bin.000001 154 这些不固定,现在要去到backup那台机上,因为master这台机下面的操作要用到对面的上面那图框出来的部分,当然backup那台机也会用到master机的这个图的log bin日志pos值位置 (mysql-bin.000001 154),总之都用这个指向对方
Mysql>grant all privileges on *.* to root@"*" identified by 'GZml136!#^'; #赋予所有网段远程登录权限
Mysql>flush privileges; #刷新权限
2.backup详细配置:
vi /etc/my.cnf #开启二进制日志,设置id
[mysqld]
server-id = 2 #master这台设置1
log-bin = mysql-bin
binlog-ignore-db = mysql,information_schema #忽略写入binlog日志的库
auto-increment-increment = 2 #字段变化增量值
auto-increment-offset = 1 #初始字段ID为1
slave-skip-errors = all #忽略所有复制产生的错误
systemctl restart mysql
mysql –uroot –pGZml136
Mysql>show master status; #获取log bin日志pos值位置,master这台机要根据这个来指向backup来获取信息
获取的结果是:
mysql-bin.000001 154
mysql> change master to
-> master_host='192.168.1.50',
-> master_user='root',
-> master_password='GZml136',
-> master_log_file='mysql-bin.000001',
-> master_log_pos=154;
mysql> start slave;
GZml136!#^
3.master详细配置继续:
mysql> change master to
-> master_host='192.168.1.31',
-> master_user='root',
-> master_password='GZml136',
-> master_log_file='mysql-bin.000001',
-> master_log_pos=154;
mysql> start slave; #启动同步
mysql> exit
最后:在master backup两台机分别看状态
Mysql>show slave status\G #两台机都执行去看
#主主同步配置完毕,查看同步状态Slave_IO和Slave_SQL是YES说明主主同步成功
4.数据库同步测试:
在master(192.168.1.50)创建个 data_linkapp 数据库
mysql>create database data_linkapp;
去到backup(192.168.1.31)这台机看,master新建的data_linkapp 数据库会同步到backup(192.168.1.31)这台机
mysql> show databases;