zoukankan      html  css  js  c++  java
  • CentOS7 安装 MySQL

    1、首先检查 MySQL 是否已安装

    yum list installed | grep mysql
    如果有的话 就全部卸载
    yum -y remove + 数据库名称

    2、MySQL 依赖 libaio,所以先要安装 libaio

    yum search libaio # 检索相关信息
    yum install libaio # 安装依赖包

    3、下载 MySQL Yum Repository

    wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

    注意:如果提示-bash: wget: 未找到命令,请先执行 yum install wget 安装 wget

    4、添加 MySQL Yum Repository

    添加 MySQL Yum Repository 到你的系统 repository 列表中,执行
     
    yum localinstall mysql-community-release-el7-5.noarch.rpm

    5、验证下是否添加成功

    yum repolist enabled | grep "mysql.*-community.*"

    6、选择要启用 MySQL 版本

    查看 MySQL 版本,执行

    yum repolist all | grep mysql

    可以看到 5.5, 5.7 版本是默认禁用的,因为现在最新的稳定版是 5.6

    yum repolist enabled | grep mysql

    7、通过 Yum 来安装 MySQL

    执行

    yum install mysql-community-server 

    Yum 会自动处理 MySQL 与其他组件的依赖关系

    遇到上述提示,输入 y 继续,执行完成会提示“完毕!”。此时MySQL 安装完成,它包含了 mysql-community-server、mysql-community-client、mysql-community-common、mysql-community-libs 四个包。

    执行

    rpm -qi mysql-community-server.x86_64 0:5.6.24-3.el7

    执行

    whereis mysql

    可以看到 MySQL 的安装目录是 /usr/bin/

     

    8、启动和关闭 MySQL Server

     (1)启动 MySQL Server

    systemctl start mysqld

    (2)查看 MySQL Server 状态

    systemctl status mysqld

    (3)关闭 MySQL Server

    systemctl stop mysqld

    (4)测试是否安装成功

    mysql

    可以进入 mysql 命令行界面

    9、防火墙设置

    远程访问 MySQL, 需开放默认端口号 3306.

    执行

    firewall-cmd --permanent --zone=public --add-port=3306/tcp
    firewall-cmd --permanent --zone=public --add-port=3306/udp

    这样就开放了相应的端口。

    执行

    firewall-cmd --reload 

    10、MySQL 安全设置

    服务器启动后,可以执行

    mysql_secure_installation;

    此时输入 root 原始密码(初始化安装的话为空),接下来,为了安全,MySQL 会提示你重置 root 密码,移除其他用户账号,禁用 root 远程登录,移除 test 数据库,重新加载 privilege 表格等,

    你只需输入 y 继续执行即可。

    至此,整个 MySQL 安装完成。

    下面可以看到都只能本机访问mysql,如果要外部可以访问mysql,那么host这里应该是显示%,所以这里我们可以选择重新创建一个用户并授予最高的权限,语句如下:

    grant all privileges on *.* to 'root'@'%' identified by 'lam7' with grant option;
     //这句话就是给root账户设置密码为lam7且host为%,即外部任何主机均可访问。*.*这个本意是数据库名.表名,我们这里没有写任何表名也没有写数据库名,就是意思所有的数据库都可以用这个root账户访问
    flush privileges;//让刚刚修改的权限生效

    然后接下来就是重启mysql服务,再次进入到mysql,用查询语句查看user表,如下所示:

     

    如果需要使用外部工具链接mysql

    则需要关闭防火墙

    systemctl stop firewalld

    然后查看状态

    systemctl status firewalld

    11、修改mysql指定用户的密码

    (1)登陆mysql

    [root@localhost ~]# mysql -u root

    (2)切换到存储用户名和密码的数据库

    mysql> use mysql;  

    # 回车,会显示以下内容 Reading table information
    for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed

    (3)修改密码,适用password()函数进行加密,实际上就是执行sql语句来更新指定用户的密码

    update user set password=password('新密码') where user='要更新密码的用户名'
    mysql> update user set password=password('root') where user='root';  回车
      -> ;
    Query OK, 0 rows affected (0.00 sec)
    Rows matched: 5 Changed: 0 Warnings: 0

    (4)刷新用户权限列表

    mysql> flush privileges;   回车
    Query OK, 0 rows affected (0.00 sec)

    (5)退出mysql登陆

    mysql> quit
    Bye

    (6)重启mysql服务

    [root@localhost ~]# service mysqld restart(重启mysql)

    (7)重新登录mysql

    [root@localhost ~]# mysql -uroot -proot
  • 相关阅读:
    魔术球问题
    【模板】网络最大流
    [SCOI2010]股票交易
    [SCOI2009]生日礼物
    [HAOI2007]修筑绿化带
    [HAOI2007]理想的正方形
    [USACO12MAR]花盆Flowerpot
    滑动窗口
    斐波那契公约数
    [SDOI2008]仪仗队
  • 原文地址:https://www.cnblogs.com/areyouready/p/10016063.html
Copyright © 2011-2022 走看看