期初 我也不知道 mysql双主 是什么。其实说白话,就是主备机,只不过在这里 两台都是主机。那有人会问,主备就主备,干嘛说是双主呢? 那么 我来说下我对这两个名词的区别:
主备:两台服务器 a 和 b ,a为主 ,b 为备 。服务器a 只要没有宕机 ,所有请求 都会往a这边发送,而b这边就一直收不到请求,只要a服务器出了问题,b才会接手服务器a的事情。
双主:同样 是两台服务器 a和b , a和b互为主 也互为备,这里又引入一个新的概念,那就是 负载均衡。a和b都会受到请求。这样 会减轻单个服务器的压力。
大家看了上面的解释,应该大致了解了双主的好处。不多说了,那就直接开始。
在linux上安装mysql数据库:
1. 卸载系统自带Mysql
1.1检查插件
输入命令:rpm -qa|grep -i mysql
1.2卸载插件
输入命令:rpm -ev {包名(上面命令查询出的包)}
备注:如果上面命令无法删除,执行:rpm -e --nodeps {包名}
1.3查找安装目录并删除
1)输入查找老版本mysql相关的安装目录命令:find / -name mysql
2)删除相关目录命令:rm -rf {目录名}
1.4删除my.cnf文件
进入/etc/目录查看mysql的配置文件my.cnf是否存在,若存在则使用命令:rm –f my.cnf 进行删除
2.删除源码安装mysql
2.1停止Mysql服务,输入命令:service mysql stop
2.2查找Mysql安装目录,输入命令:whereis mysql
2.3删除Mysql相关目录(上条命令查询出的目录),输入命令:rm –rf mysql
2.4查找有关Mysql文件,输入命令:find / -name mysql
2.5删除查找到的Mysql文件,输入命令:rm –rf *
2.6删除配置文件,输入命令:rm –rf /etc/my.cnf
2.7删除配置文件,输入命令:rm –rf /etc/init.d/mysql.server
2.8删除Mysql用户,输入命令:userdel mysql
2.9删除Mysql用户组,输入命令:groupdel mysql
3.Mysql5.7.19安装
3.1新建用户和用户组
1)新增用户组:groupadd mysql
2)新增用户:useradd -g mysql mysql
3.2上传并解压安装文件
1)将mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz上传到/usr/local路径下,并解压:tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
2)进入解压文件所在位置:cd /usr/local
3)重命名解压后文件夹名称为mysql:mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql
3.3创建data文件夹,并修改权限
1)进入mysql文件夹,输入命令:cd /usr/local/mysql
2)新建data文件夹:mkdir data
3)修改权限:chmod 770 data
3.4修改mysql文件夹的用户和用户组
1)进入mysql文件夹所在位置:cd /usr/local
2)修改mysql文件夹用户和用户组:chown –R mysql:mysql mysql
3.5初始化数据库
1)进入mysql文件夹:cd /usr/local/mysql
2)执行初始化命令(并指定user、mysql目录和data目录):bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
3)保存mysql初始密码,第一次登陆mysql时使用
3.6设置SSL安全连接
1)执行命令(指定mysql目录和data目录):bin/mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
3.7新建日志文件夹
1)进入日志文件位置:cd /var/log
2)新建日志文件夹:mkdir mysql
3.8执行mysqld_safe脚本
1)进入mysql文件夹:cd /usr/local/mysql
2)执行mysqld_safe:bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data &
3)再按一次Enter键让此命令后台运行
3.9加入开机启动
1)执行命令:cp support-files/mysql.server /etc/init.d/mysql
3.10配置my.cnf文件
1)配置my.cnf文件,输入命令:vi /etc/my.cnf
2)修改后配置内容如下:
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
#skip-name-resolve
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
3)按i键后进行编辑,编辑完成后按Esc键后输入:wq(必须输入英文冒号),退出编辑
3.11配置环境变量
1)配置环境变量,输入命令:vi /etc/profile,添加以下内容:
export MYSQL_HOME="/usr/local/mysql"
export PATH="$PATH:$MYSQL_HOME/bin"
2)按i键后进行编辑,编辑完成后按Esc键后输入:wq(必须输入英文冒号),退出编辑
3)使环境变量立即生效,执行命令:source /etc/profile
3.12启动mysql服务
1)启动mysql服务,输入命令:service mysql start
3.13修改mysql密码并使用新密码授权远程登录
1)mysql服务启动后,输入命令进入mysql:mysql -u root -p
2)输入初始密码(步骤2.5处保存的初始密码),按Enter键
3)登录成功后,设置新密码,输入命令:SET PASSWORD=PASSWORD(‘NEWPASSWORD’);
4)退出,输入命令:exit
5)使用新密码登录,输入命令:mysql -u root -p,输入新密码登录mysql
6)授权远程登录,输入命令:grant all privileges on *.* to'root' @'%' identified by '密码';
7)授权生效,输入命令:flush privileges;
根据上面的步骤 我相信 应该成功安装了mysql数据库。
待续.......