1. 安装MySQL
(1). 检查并删除旧版本MySQl的RPM包:
# rpm -qa | grep -i mysql
# yum -y remove mysql-libs*
(2). 解压包
# tar -xvf mysql-xxxxx.tar
(3). 安装
# rpm -ivh MySQL-server-5.6.15-1.el6.x86_64.rpm
# rpm -ivh MySQL-devel-5.6.15-1.el6.x86_64.rpm
# rpm -ivh MySQL-client-5.6.15-1.el6.x86_64.rpm
修改配置文件位置:
# cp /usr/share/mysql/my-default.cnf /etc/my.cnf
(4). MySQL初始化
CentOS7需要先安装perl:# yum install -y perl-Module-Install.noarch
# /usr/bin/mysql_install_db
CentOS7需要进行如下操作
a. 关闭selinux,打开/etc/selinux/config,将ELINUX=enforcing改为disabled
b. chown -R mysql:mysql /var/lib/mysql
# service mysql start
查看Mysql密码:
# cat /root/.mysql_secret
# mysql -uroot –pxxxxxx
若出现不能登录的情况,则使用 #mysqladmin -uroot -p password 'newpassword'修改密码
mysql> SET PASSWORD = PASSWORD('123456');
mysql> exit
# mysql -uroot -p123456
(5). 设置远程登录:
mysql> update user set password=password('123456') where user='root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> flush privileges;
(6). 设置开机启动
# chkconfig mysql on
(7). 修改字符集
[client]
password=123456
port=3306
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
#(注意linux下mysql安装完后是默认:表名区分大小写,列名不区分大小写; 0:区分大小写,1:不区分大小写)
lower_case_table_names=1
#(设置最大连接数,默认为 151,MySQL服务器允许的最大连接数16384; )
max_connections=1000
[mysql]
default-character-set=utf8
2. 配置主从复制
通过上述步骤安装的两台Mysql服务器:
主服务器:192.168.128.148
从服务器:192.168.128.149
为避免配置出现错误,暂时关闭两台机器的iptales
# service iptables stop;
(1). 主服务器配置
修改/etc/my.cnf
[mysqld]
server-id=1
log-bin=mysqlmaster-bin.log
sync_binlog=1
#参数值为服务器内存的70%左右
innodb_buffer_pool_size=512M
之后重启MySQL
(2). 从服务器配置
[mysqld]
server-id=2
log-bin=mysqlslave-bin.log
sync_binlog=1
#参数值为服务器内存的70%左右
innodb_buffer_pool_size=512M
之后重启MySQL
(3) 配置主从复制
a. 登录到主服务器的数据库
# mysql -uroot -p123456
在主服务器上创建主从同步的账户
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'从数据库IP' IDENTIFIED BY 'repl';
查看主服务器bin-log的位置
mysql>SHOW MASTER STATUS;
记住Position的值
b. 登录到从服务器的数据库
# mysql -uroot -p123456
# CHANGE MASTER TO MASTER_HOST='主服务器IP',MASTER_USER='repl',MASTER_PASSWORD='repl',MASTER_LOG_FILE='mysqlmaster-bin.000001',MASTER_LOG_POS=刚记住的Position的值;
启动从数据库的复制线程:
mysql>START slave;
查看状态:
mysql>SHOW slave STATUS \G
如果下面两个参数都是Yes,配置成功:
Slave_IO_Running: YES
Slave_SQL_Running: YES