Mysql
安装
环境准备
# 1.卸载mariadb,否则安装mysql会出现冲突
# 2.执行命令rpm -qa | grep mariadb
# 3.列出所有被安装的mariadb rpm 包;
# 4.执行命令rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
本地安装
- 将下载好的软件包传到linux系统中并解压
tar -zxvf 软件包 -C 安装目录
- 按照顺序执行以下命令
rpm -ivh perl-*
rpm -ivh net-tools-2.0-0.22.20131004git.el7.x86_64.rpm
rpm -ivh mysql-community-common-5.6.42-2.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.6.42-2.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.6.42-2.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.6.42-2.el7.x86_64.rpm
- 设置root用户密码
# 1.启动mysql数据库
[root@localhost mysql]# systemctl start mysqld
# 2.修改mysql数据库密码
mysqladmin -u root -p password 回车 输入原始密码 在输入新的密码
注意:5.7之前版本安装完成之后没有密码,mysql5.7之后的版本的初始密码是随机生成的,放在了 /var/log/mysqld.log
使用命令 grep ‘temporary password’ /var/log/mysqld.log 读出来即可
# 3.登录mysql
[root@localhost mysql]# mysql -u root -p
# 4.在/etc/my.cnf配置文件中添加以下命令可以不用输入密码
skip-grant-tables
Mysql主从复制
准备环境
三台机器 (一主两从)
10.15.0.10 mysql1
10.15.0.11 mysql2
10.15.0.12 mysql3
前提:
jdk正常运行
修改主机与ip的映射
修改主机名后需要重启
- 修改三台机器mysql的配置文件
[root@mysql1 ~]# vim /etc/my.cnf
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
#加入如下配置
server-id=1
log-bin=mysql-bin
log-slave-updates
slave-skip-errors=all
[root@mysql2 ~]# vim /etc/my.cnf
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
#加入如下配置
server-id=2
log-bin=mysql-bin
log-slave-updates
slave-skip-errors=all
[root@mysql3 ~]# vim /etc/my.cnf
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
#加入如下配置
server-id=3
log-bin=mysql-bin
log-slave-updates
slave-skip-errors=all
注意:
server-id 必须是唯一的
- 重启mysql服务
[root@mysql1 ~]# systemctl restart mysqld
[root@mysql2 ~]# systemctl restart mysqld
[root@mysql3 ~]# systemctl restart mysqld
- 分别登陆mysql检测配置是否生效
[root@mysql1 ~]# mysql -u root
mysql> SHOW VARIABLES like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 1 |
+---------------+-------+
1 row in set (0.00 sec)
[root@mysql2 ~]# mysql -u root
mysql> SHOW VARIABLES like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 2 |
+---------------+-------+
1 row in set (0.00 sec)
[root@mysql2 ~]# mysql -u root
mysql> SHOW VARIABLES like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 3 |
+---------------+-------+
1 row in set (0.00 s