安全卸载linux上的mysql
- 执行 yum remove mysql mysql-server mysql-libs compat-mysql51
- rm -rf /var/lib/mysql #很多自带的mysql都安装到这个目录,执行下删除将其删除了
- rm -rf /etc/my.cnf #删除配置文件
- rpm -qa|grep mysql #查看是否有包含mysql的npm如果有的话 执行 rpm -e xxx将其删除
- 执行 whereis mysql 查看下哪里有包含mysql的文件夹 有的话使用 rm -rf xxx将其删除
- rm –rf /usr/my.cnf rm -rf /root/.mysql_sercret
安装mysql
- 准备安装包,我用的是mysql5.6,去官网下载mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
- 安装网上的教程安装https://www.cnblogs.com/lunatic-cto/p/6123490.html
- 启动mysql客户端 mysql -uroot -p123456
按照网上的教程安装会有几个问题
1.按照上面的网址安装后,发现启动的时候报了
这个问题是由于/etc/my.cnf的权限是root的所有权限,mysql认为权限太大不让使用,如果我们把权限放小又报了了其他权限问题,所以我们不使用这个位置的配置文件,将其 rm -rf /etc/my.cnf。 这样他就会使用安装目录下的my.cnf来启动
网上找的比较干净的my.cnf的初始配置文件
[client]
port=3306
socket=/usr/local/mysql/mysql.sock
[mysqld]
port=3306
socket=/usr/local/mysql/mysql.sock
## 设置mysql的安装目录
basedir=/usr/local/mysql
## 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
## 允许最大连接数
max_connections=200
## 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
## 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M
2.启动客户端报错
image.png
目前不知道什么原因,只知道/temp/mysql.sock没有这个文件,但是我配置文件都是指向/usr/local/mysql/mysql.sock的。所以先用软链接链接过去。 ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock
image.png
mysql主从复制
主机 : 192.168.199.128
丛机 : 192.168.199.129
主服务器配置
1.主机的my.cnf添加如下配置并重启mysql服务
#主从复制
server-id = 128
#复制过滤:需要备份的数据库,输出 binlog
#binlog-do-db=mbank
#复制过滤:不需要备份的数据库,不输出(mysql 库一般不同步)
#binlog-ignore-db=mysql
# 开启二进制日志功能,可以随便取,最好有含义
log-bin=mysql-bin-128
2.在主机上创建一个给丛机连接的用户,并授予权限
CREATE USER 'xuzy'@'192.168.199.129' IDENTIFIED BY '123456';#创建用户
GRANT REPLICATION SLAVE ON *.* TO [<u>'xuzy'@'192.168.199.129' ;#分配权限</u>](mailto:'xuzy'@'192.168.199.129';#分配权限)
flush privileges; #刷新权限
3.查看master状态
记录下File和Position的值。因为mysql主从是通过日志来做的,这两个等下要用到
从服务器配置
1.在从服务器的my.cnf上添加如下配置并重启服务
server-id=129
2.进入客户端 mysql -uroot -p123456,并执行如下命令
CHANGE MASTER TO MASTER_HOST='192.168.199.128', MASTER_USER='xuzy', MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin-128.000002',MASTER_LOG_POS=12984;
3.启动slave同步进程 : start slave;
4.查看slave状态 : show slave status\G; 都是yes表示可以了
image.png
网友评论