Mysql部署
第一步:检查是否已经安装过mysql
执行命令
rpm -qa|grep mysql
从执行结果,可以看出我们已经安装了mysql-libs-5.1.73-5.el6_6.x86_64,执行删除命令
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
再次执行查询命令,查看是否删除
第二步:查询所有Mysql对应的文件夹
执行命令:
whereis mysql
显示结果:
mysql: /usr/bin/mysql /usr/include/mysql
执行命令:
find / -name mysql
显示结果:
删除相关目录或文件
执行命令
rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql
验证是否删除完毕
执行命令
whereis mysql
执行命令
find / -name mysql
第三步:下载mysql安装包
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
第四步:解压
tar -xvf mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz
第五步:移动至目录
移动并改名mysql。
mv mysql-5.6.49-linux-glibc2.12-x86_64 /usr/local/mysql
第六步:创建mysql用户组
groupadd mysql
useradd -r -g mysql mysql
第七步:配置my.cnf文件
vim /etc/my.cnf
根据实际项目配置,主要增加如下配置:
#basedir为安装目录
basedir=/data/mysql
#datadir为数据文件目录
datadir=/data/mysql_data
#错误日志
log-error=/data/mysql_temp/mysql.err
pid-file=/data/mysql_temp/mysql.pid
socket=/tmp/mysql.sock
#字符集编码
character_set_server=utf8mb4
collation-server=utf8mb4_general_ci
第八步:创建data目录
mkdir /data/mysql_data
第九步:初始化mysql
/data/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/data/mysql --datadir=/data/mysql_data --user=mysql
第十步:修改/data/mysql权限
cd /data/
chown -R mysql:mysql /data/mysql
第十一步:设置环境变量
修改配置文件
vim /etc/profile
设置环境变量
写一个MYSQL_HOME,值为“mysql的安装路径”
在PATH后面加上 MYSQL_HOME/bin
export后面加上MYSQL_HOME
export MYSQL_HOME=/data/mysql
export PATH=$PATH:$MYSQL_HOME/bin
第十二步:重新加载配置文件
source /etc/profile
第十三步:开启3306端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
第十四步:启动mysql
cp support-files/mysql.server /etc/init.d/mysql
service mysql start
第十五步:设置密码
进入mysql/bin目录执行:
./mysqladmin -uroot password 'password'
第十六步:设置远程连接
进入mysql/bin目录执行:
./mysql -u root -p 123456
再执行下面三步操作。
use mysql #访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
至此,搭建完成!根据实际需求确认是否需要搭建主从。
主服务器节点
在主服务器修改mysql配置文件
vi /etc/my.cnf
新增以下内容
server_id=1 ###服务器id
log-bin=mysql-bin ###开启日志文件
max_binlog_size = 500M ###每个备份文件最大
binlog-do-db=easyreplay ###需要同步的数据,多个写多条
重启mysql服务
service mysql restart
验证是否已经配置成功
show variables like '%server_id%';
能够查询对应配置文件中的server_id 说明已经配置成功
show master status;
能够看到同步的文件,和行数 说明已经配置成功。
从服务器节点
在从服务器修改mysql配置文件
vi /etc/my.cnf
新增以下内容
server_id=2 ###从服务器server_id
重启mysql服务
service mysql restart
验证是否已经配置成功
show variables like '%server_id%';
能够查询对应配置文件中的server_id 说明已经配置成功
从服务器同步主服务器配置
从库执行 以下语句
停止同步:
stop slave
修改配置:
change master to master_host='192.168.212.200',master_user='root',master_password='root',
master_log_file='mysql-bin.000002',master_log_pos=216;
开始同步:
start slave
检查从服务器复制功能状态
若Last_error出现下面错误
Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
因为服务器克隆的时候交UUID产生了重复 ,解决办法:
cd /var/lib/mysql
rm -rf auto.cnf
重启服务器即可
service mysql restart