# MySQL安装以及主从配置
author:肖博、韩皖
createTime:2021-04-27
updateTime:2022-02-16
1.新增MySQL卸载方法
# 一、MySQL安装(熟悉MySQL8安装的直接略过)
# 1.卸载
安装mysql时需要先检查本机是否安装过mysql
查看当前安装mysql情况
# rpm -qa|grep -i mysql
显示安装情况如下
# rpm -qa|grep -i mysql
mysql-5.1.73-8.el6_8.x86_64
mysql-libs-5.1.73-8.el6_8.x86_64
mysql-devel-5.1.73-8.el6_8.x86_64
mysql-server-5.1.73-8.el6_8.x86_64
perl-DBD-MySQL-4.013-3.el6.x86_64
停止mysql服务、删除之前安装的mysql
删除命令:rpm -ev –-nodeps 包名
# rpm -e –nodeps mysql-5.1.73-8.el6_8.x86_64
# ...
如果提示依赖包错误,则使用以下命令尝试
# rpm -qa | grep -i mysql
mysql-libs-5.1.73-3.el6_5.x86_64
# rpm -ev mysql-libs-5.1.73-3.el6_5.x86_64
error: Failed dependencies:
libmysqlclient.so.16()(64bit) is needed by (installed) postfix-2:2.6.6-6.el6_5.x86_64
libmysqlclient.so.16(libmysqlclient_16)(64bit) is needed by (installed) postfix-2:2.6.6-6.el6_5.x86_64
mysql-libs is needed by (installed) postfix-2:2.6.6-6.el6_5.x86_64
# rpm -ev mysql-libs-5.1.73-3.el6_5.x86_64 --nodeps
查找之前老版本mysql的目录、并且删除老版本mysql的文件和库
# find / -name mysql
/usr/lib64/perl5/DBD/mysql
/usr/lib64/perl5/auto/DBD/mysql
/usr/lib64/mysql
/usr/include/mysql
/usr/share/mysql
/usr/bin/mysql
/var/lib/mysql
/var/lib/mysql/mysql
#
查找目录并删除 注意:卸载后/etc/my.cnf不会删除,需要进行手工删除
# 2.安装
下载MySQL8
# wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
安装yum源
# yum localinstall mysql80-community-release-el7-1.noarch.rpm
更新yum源
# yum clean all
编译
# yum makecache
创建Mysql账户
# groupadd mysql
分组
# useradd -g mysql mysql
安装mysql
# yum install mysql-community-server
启动MySQL
# systemctl start mysqld
查看初始化密码
# cat /var/log/mysqld.log | grep password
登录MySQL
# mysql -u root -p
修改初始化密码
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
使用mysql数据库
# use mysql;
设置所有用户可以连接
# update user set host='%' where user='root';
允许任何主机访问数据库
# grant all privileges on *.* to 'root'@'%' with grant option;
刷新权限
# FLUSH PRIVILEGES;
# 二、主从配置
# 1.主从MySQL安装成功后,修改配置文件
主从配置都加入server-id配置,值为数字,不能相同,修改后重启
# 2.主库创建用户
# CREATE USER 'rep'@'%' IDENTIFIED WITH mysql_native_password BY 'Repl-123456';
# GRANT REPLICATION SLAVE ON *.* TO 'rep'@'%';
# 3.从库执行同步命令
# change master to master_host='172.16.10.5',master_port=3306,master_user='rep',master_password='Repl-123456',master_log_file='mysql-bin.000001',master_log_pos=154
注:(master_log_file和master_log_pos通过主库执行命令show master status获取)
# 4.开启slave
# start slave
# 5.查看slave状态
# show slave status\G