linux系统怎么使用yum进行安装mySQl?
3 个回答
1 检测 MySQL
注明:安装之前检测系统是否有自带的 MySQL。
- rpm -qa | grep mysql # 检查是否安装过 MySQL
- rpm -qa | grep mariadb # 检查是否存在 mariadb 数据库(内置的 MySQL 数据库),有则强制删除
- rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 # 强制删除
- rpm -e --nodeps mariadb-5.5.68-1.el7.x86_64 # 强制删除
2 安装 MySQL
- 下载 MySQL 源
命令:curl -O https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
2. 安装 MySQL 源
命令:yum localinstall mysql57-community-release-el7-11.noarch.rpm
3. 检查 MySQL 源是否安装成功
命令:yum repolist enabled | grep "mysql.*-community.*"
下图5 表示 MySQL 源安装成功。
4. 通过已安装好的 MySQL 源安装 MySQL
命令:yum install mysql-community-server
“是否继续”选择 y(是的)。
5. 若安装报错,提示无公共秘钥,通过下面命令解决。没报错就不用管第 5 步!
命令:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
命令输入完回车执行后没报错,就继续重复第 4 步的 Mysql 安装命令。
6. 查看 MySQL 是否安装成功
命令:yum list installed mysql-*
7. 启动 MySQL 并检查 MySQL 运行状态
(1) 命令:systemctl start mysqld
(2) 命令:systemctl status mysqld
上面两种命令功能是一样的,输入其一即可。
8. 获取 MySQL 默认登录密码,登录 MySQL,并修改默认的登录密码(MySQL 临时密码)
命令:grep 'temporary password' /var/log/mysqld.log
9. 输入下面命令,接着输入默认登录密码,就能以 root 帐号登录 MySQL
命令:mysql -u root -p # -u 表示用户名 -p 表示密码
注意:在创建数据库或数据表之前,要修改 root 用户的登录密码。
10. 修改 root 用户的登录密码
命令:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; # 大小写无所谓,都行!
注明:MySQL 默认的密码复杂度为 MEDIUM,所以新密码至少为 8 位,并且必须包含大、小写字母、数字和特殊字符。
11. 配置 root 用户远程访问权限,并刷新权限使生效
命令:grant all privileges on *.* to 'root' @'%' identified by 'password';
*.* 表示:数据库名称 . 表名称
(1) 第一个 * 是数据库,可以改成允许访问的数据库名称;
(2) 第二个 * 是这个数据库中的表名称,代表允许访问该数据库中的任意表;
(3) root 代表远程登录使用的用户名,可以自定义;
(4) % 代表允许任意 IP 登录,如果你想指定特定的 IP,可以把 % 替换掉就可以了;
(5) password 代表远程登录时使用的密码,可以自定义;
12. 开启权限,让权限立即生效
命令:flush privileges;
注意:在 MySQL 的命令提示符(mysql>)中,当你输入完 MySQL 命令后不要习惯性的回车,记得在你输入的命令后加上 ; 号,不然这条命令不会执行,一直出现命令提示符,所以即便回车了也要加上 ; 号!
一、MySQL安装
确保服务器系统处于最新状态
yum -y update;
检查是否已经安装,如果已经安装先删除以前版本
rpm -qa | grep mysql;
或者
yum list installed | grep mysql;
删除已经安装的mysql
rpm -e mysql-xxx-xxxx;
下载MySql安装包
mysql8.0
rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm;
mysql5.7
rpm -ivh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm;
安装MySql
yum install -y mysql-server;
或者
yum install mysql-community-server;
设置开机启动mysql
systemctl enable mysqld.service;
检查是否已经安装了开机自动启动
systemctl list-unit-files | grep mysqld;
设置开启服务
systemctl start mysqld.service;
查看MySql默认密码,进入mysql目录 ,查看mysqld.log
grep "password" /var/log/mysql/mysqld.log;
修改当前用户密码
use mysql;
alter user root@localhost identified by '密码';
查看用户表权限
select host,user from user;
授权
update user set host='%' where user='root';
或者
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
刷新
flush privileges;
二、主从复制配置
1、主服务器配置
vim /etc/my.cnf 打开my.cnf文件,配置如下内容
# 设置主服务器ID
server-id=1
# 启用二进制日志
log-bin=mysqlbin
binlog_format=mixed
# 设置只读模式
read_only=0
重启mysql服务器
systemctl stop mysqld;
systemctl start mysqld;
授权
mysql8.0之前:
GRANT REPLICATION SLAVE ON *.* TO '主服务器账号'@'从服务器IP' IDENTIFIED BY '主服务器密码';
mysql8.0之后将创建账号和授权分开了:
create user 'repl'@'%' identified by 'repl';
GRANT REPLICATION SLAVE ON *.* TO '主服务器账号'@'从服务器IP';
刷新权限
flush privileges;
查询master的状态
show master status;
2、从服务器配置
vim /etc/my.cnf 打开my.cnf文件,配置如下内容
[mysqld]
# 从服务器唯一Id
server_id=2
# 只读
read_only=1
重启mysql
systemctl stop mysqld;
systemctl start mysqld;
配置需要复制的主机
CHANGE MASTER TO MASTER_HOST='106.14.211.5', MASTER_PORT=3306, MASTER_USER='root',
MASTER_PASSWORD='123456', MASTER_LOG_FILE='binlog.000002', MASTER_LOG_POS=368;
说明:
MASTER_LOG_FILE和MASTER_LOG_POS是在配置主服务器后,通过show master status查询到的;
启动从服务器复制功能
start slave;
查询冲服务器状态
show slave status\G
Slave_IO_Running和Slave_SQL_Running两个参数的值都是Yes,则说明主从配置成功!