linux系统怎么使用yum进行安装mySQl?

linux系统怎么使用yum进行安装mySQl,求大神具体的说下,数据库是空的,被删除了 [图片]
关注者
3
被浏览
6,859

3 个回答

1 检测 MySQL

注明:安装之前检测系统是否有自带的 MySQL。

  1. rpm -qa | grep mysql # 检查是否安装过 MySQL
  2. rpm -qa | grep mariadb # 检查是否存在 mariadb 数据库(内置的 MySQL 数据库),有则强制删除
  3. rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 # 强制删除
  4. rpm -e --nodeps mariadb-5.5.68-1.el7.x86_64 # 强制删除
图1 检测系统是否自带 Mysql

2 安装 MySQL

  1. 下载 MySQL 源

命令:curl -O repo.mysql.com//mysql57

图2 curl -O 命令

2. 安装 MySQL 源

命令:yum localinstall mysql57-community-release-el7-11.noarch.rpm

图3 yum 命令
图4 选择 y

3. 检查 MySQL 源是否安装成功

命令:yum repolist enabled | grep "mysql.*-community.*"

下图5 表示 MySQL 源安装成功。

图5 检查 MySQL 源是否安装成功

4. 通过已安装好的 MySQL 源安装 MySQL

命令:yum install mysql-community-server

“是否继续”选择 y(是的)。

图6 有了 MySQL 源后安装 MySQL

5. 若安装报错,提示无公共秘钥,通过下面命令解决。没报错就不用管第 5 步!

命令:rpm --import repo.mysql.com/RPM-GPG-

命令输入完回车执行后没报错,就继续重复第 4 步的 Mysql 安装命令。

图7 解决因密钥导致安装报错

6. 查看 MySQL 是否安装成功

命令:yum list installed mysql-*

图8 查看 Mysql 是否安装成功

7. 启动 MySQL 并检查 MySQL 运行状态

(1) 命令:systemctl start mysqld

(2) 命令:systemctl status mysqld

上面两种命令功能是一样的,输入其一即可。

图9 启动 MySQL 并检查 MySQL 运行状态

8. 获取 MySQL 默认登录密码,登录 MySQL,并修改默认的登录密码(MySQL 临时密码)

命令:grep 'temporary password' /var/log/mysqld.log

图10 获取 MySQL 默认登录密码

9. 输入下面命令,接着输入默认登录密码,就能以 root 帐号登录 MySQL

命令:mysql -u root -p # -u 表示用户名 -p 表示密码

图9 默认登录密码登录到 MySQL

注意:在创建数据库或数据表之前,要修改 root 用户的登录密码。

10. 修改 root 用户的登录密码

命令:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; # 大小写无所谓,都行!

注明:MySQL 默认的密码复杂度为 MEDIUM,所以新密码至少为 8 位,并且必须包含大、小写字母、数字和特殊字符。

图10 修改 root 用户的登录密码

11. 配置 root 用户远程访问权限,并刷新权限使生效

命令:grant all privileges on *.* to 'root' @'%' identified by 'password';

*.* 表示:数据库名称 . 表名称

(1) 第一个 * 是数据库,可以改成允许访问的数据库名称;

(2) 第二个 * 是这个数据库中的表名称,代表允许访问该数据库中的任意表;

(3) root 代表远程登录使用的用户名,可以自定义;

(4) % 代表允许任意 IP 登录,如果你想指定特定的 IP,可以把 % 替换掉就可以了;

(5) password 代表远程登录时使用的密码,可以自定义;

图11 开启 root 用户远程访问权限

12. 开启权限,让权限立即生效

命令:flush privileges;

图12 开启权限

注意:在 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,则说明主从配置成功!