一、安装MySQL
1:查看已安装的MariaDB相关rpm包。
rpm -qa | grep mariadb2:查看已安装的MariaDB相关yum包,包名需根据rpm命令的结果判断。
yum list mariadb-libs3:移除已安装的MariaDB相关yum包,包名需根据yum list命令的结果判断。此步骤需要root权限。
yum remove mariadb-libs4:安装依赖
yum install net-tools5:使用rpm包安装MySQL
以下步骤需要root权限。且因包之间的依赖关系,各rpm命令必须按序执行。
mkdir mysql-5.7.18
tar -xv -f mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar -C mysql-5.7.18
cd mysql-5.7.18/
rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm改MySQL初始密码
以下步骤需要root权限。
1:由于一开始并不知道密码,先修改配置文件/etc/my.cnf令MySQL跳过登录时的权限检验。加入一行:
vim /etc/my.cnf
skip-grant-tables2:重启MySQL。
service mysqld restart3:免密码登录MySQL。
mysql4:在mysql客户端执行如下命令,修改root密码。
use mysql;
UPDATE user SET authentication_string = password('your-password') WHERE host = 'localhost' AND user = 'root';
quit;5:修改配置文件/etc/my.cnf删除此前新增那一行skip-grant-tables,并重启MySQL。这一步非常重要,不执行可能导致严重的安全问题
使用刚刚设置的密码登录。
mysql -u root -p6:设置root用户远程登录
1:修改validate_password_policy参数的值
set global validate_password_policy=0;2:validate_password_length(密码长度)参数默认为8,我们修改为1
set global validate_password_length=1;3:完成之后再次执行修改密码语句即可成功
alter user 'root'@'localhost' identified by '123456':4: 设置root用户远程连接
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;vim /etc/my.cnf
[mysqld]标签下添加
skip-name-resolve官方文档解释:据文档说明,如果你的mysql主机查询DNS很慢或是有很多客户端主机时会导致连接很慢,由于我们的开发机器是不能够连接外网的,所以DNS解析是不可能完成的,从而也就明白了为什么连接那么慢了。同时,请注意在增加该配置参数后,mysql的授权表中的host字段就不能够使用域名而只能够使用 ip地址了,因为这是禁止了域名解析的结果。
1. 修改Master上MySQL配置文件my.cnf
[mysqld]
log-bin=mysql-bin # [必须]启用二进制日志
server-id=1 # [必须]服务器唯一ID
binlog-do-db=test # 要记录日志的数据库
binlog-ignore-db=mysql # 不要记录日志的数据库,MySQL库不用同步,保证主从权限不同。2. 修改Slave上MySQL配置文件my.cnf
[mysqld]
log-bin=mysql-bin # [非必须]Slave可以不启用二进制日志,配置二进制日志可以便于Master和Slave交换角色
server-id=2 # [必须]服务器唯一ID3. 重启Master和Slave上的MySQL
systemcrl restart mysqld4. 在Master上使用root用户登录建立同步账户并授权Slave
mysql> GRANT REPLICATION SLAVE ON *.* to 'username'@'%' identified by 'password';
mysql> FLUSH PRIVILEGES;5. 使用root账户登录Master查看Master状态
mysql> show master status;6. 配置Slave跟踪Master日志的位置
mysql> #主服务IP ,master_user用户名,master_user密码, mysql-bin.000002,master_log_pos=6584 #按照Master上的填写
change master to master_host='10.64.2.5',master_user='username',master_password='q123456',master_log_file='mysql-bin.000002',master_log_pos=6584;
start slave;7. 使用root账户登录MySQL核对Slave状态
mysql> show slave status\G;
#需要特别核对Slave_IO_State、Slave_IO_Running、Slave_SQL_Running 值,以上值为正确配置状态。
#Slave_IO_State: Waiting for master to send event
#Slave_IO_Running: Yes
#Slave_SQL_Running: Yes原文作者:;如有侵权,请联系管理员删除。