Mysql安装及主从复制配置
1.下载 mysql数据库
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz
2.解压
tar -xvf mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz -C /app/servers/mysql-5.7.9
3.建立软连接
ln -s mysql-5.7.9 mysql
4.创建mysql用户和修改软件的权限
useradd -r -M -s /sbin/nologin mysql chown -R mysql.mysql /app/servers/mysql-5.7.9/ chown -R mysql.mysql /app/servers/mysql chgrp -R mysql /app/servers/mysql-5.7.9
5.安装和初始化数据库
cd /app/servers/mysql-5.7.9/ bin/mysqld --initialize --user=mysql --basedir=/app/servers/mysql-5.7.9/ --datadir=/app/servers/mysql-5.7.9/data/
6.拷贝配置文件到etc下
cp -a ./support-files/my-default.cnf /etc/my.cnf
7.启动脚本 设置基本路径和数据路径
cp -a ./support-files/mysql.server /etc/init.d/mysqld vi /etc/init.d/mysqld basedir=/app/servers/mysql-5.7.9/ datadir=/app/servers/mysql-5.7.9/data/
8.设置后台启动
cd bin/
./mysqld_safe --user=mysql &
9.启动服务
/etc/init.d/mysqld start
10.设置开机启动
chkconfig --level 35 mysqld on
11.初始化密码
mysql5.7会生成一个初始化密码,而在之前的版本首次登陆不需要登录 #查看初始密码 cat /root/.mysql_secret
#使用初始化密码登陆
mysql -uroot -p
(备注:如果遇到mysql -uroot -p
-bash: mysql: command not found )
ln -s /app/servers/mysql/bin/mysql /usr/bin
####################3
#修改root密码为root
#alter user 'root'@'localhost' identified by 'root';
update mysql.user set authentication_string=password('root') where user='root' ;
flush privileges;
12.设置远程连接mysql
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在 localhost 的那台电脑,登入MySQL后,更改 “MySQL” 数据库里的 “user” 表里的 “Host” 项,从“localhost”改称“%”,%表示所有机器都允许。
mysql> use mysql mysql> update user set Host='%' where User='root'; mysql> FLUSH PRIVILEGES;
13.主从配置
1.master配置 在主服务器的my.cnf配置文件中,增加 [mysqld] log-bin=mysql-bin server-id=1 2.master创建复制用户 在master上,root登录mysql,执行 CREATE USER 'repl'@'192.168.8.%' IDENTIFIED BY '123456'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.8.%'; 3.获取Master日志坐标 连接mysql,执行 FLUSH TABLES WITH READ LOCK; 再开一个会话,连接mysql,执行 SHOW MASTER STATUS;
====================================== 1.slave配置 在从服务器的my.cnf配置文件中,增加 [mysqld] server-id=2 2.设置master信息 CHANGE MASTER TO master_host='192.168.8.110', master_user='repl', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos=617;
3.启动从数据库同步
在客户端命令执行:start slave;
4.查看主从复制执行状态。
在从服务器查看从服务状态:show slave status;