执行安装命令


安装命令:

  1. yum install mysql-devel
  2. yum install mysql
  3. yum install mysql-server

一般安装mysql和mysql-devel都成功,但是安装mysql-server失败,会出现以下的提示:

  1. # yum install mysql-server
  2. Loaded plugins: fastestmirror
  3. Loading mirror speeds from cached hostfile
  4. * base: mirrors.sina.cn
  5. * extras: mirrors.sina.cn
  6. * updates: mirrors.sina.cn
  7. No package mysql-server available.
  8. Error: Nothing to do

错误是因为 CentOS 7 版本将 MySQL 数据库软件从默认的程序列表中移除,用 Mariadb 代替了。

解决yum install mysql安装错误


针对这个错误,有2个解决方案

方案1: 安装mariadb

MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB 的目的是完全兼容 MySQL ,包括API和命令行,使之能轻松成为 MySQL 的代替品。

安装命令:

  1. yum install mariadb-server mariadb

安装完成后,启动mariadb就可以使用MySQL了

mariadb数据库的相关命令:

  1. #启动MariaDB
  2. systemctl start mariadb
  3. #停止MariaDB
  4. systemctl stop mariadb
  5. #重启MariaDB
  6. systemctl restart mariadb
  7. #设置开机启动
  8. systemctl enable mariadb

连接 MySQL 的命令:

  1. # mysql -u root -p
  2. Enter password:
  3. Welcome to the MariaDB monitor. Commands end with ; or \g.
  4. Your MariaDB connection id is 3
  5. Server version: 5.5.41-MariaDB MariaDB Server
  6. Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others.
  7. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  8. MariaDB [(none)]> show databases;
  9. +--------------------+
  10. | Database |
  11. +--------------------+
  12. | information_schema |
  13. | mysql |
  14. | performance_schema |
  15. | test |
  16. +--------------------+
  17. rows in set (0.00 sec)
  18. MariaDB [(none)]>

方法2 官网下载安装mysql-server

  1. # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
  2. # rpm -ivh mysql-community-release-el7-5.noarch.rpm
  3. # yum install mysql-community-server

如果执行wget的时候,提示wget命令没有找到的话,就需要安装一下wget

错误提示如下:
😄CentOS7安装MySQL - 图1

这时候需要安装wget:

  1. yum -y install wget

😄CentOS7安装MySQL - 图2
安装好以后就可以继续执行命令了;

MySQL 安装完成后,重启一下,就可以连接了。
重启 MySQL 和连接命令:

  1. service mysqld restart
  2. mysql -u root


😄CentOS7安装MySQL - 图3

配置MySQL


连接MySQL后,需要进行一些初始的配置。

设置密码:

#最后的'123'就是你要设置的密码,这里设置成123
set password for 'root'@'localhost' =password('123');

加上编码配置:

编辑MySQL的配置文件,在文件的末尾加上默认编码设置。
MySQL配置文件在 /etc/my.cnf,在文件末尾添加以下配置:

[mysql]
default-character-set=utf8

这里的字符编码必须和 /usr/share/mysql/charsets/Index.xml 中的名称一致。

远程连接设置:

#把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。
#123 就是 远程登陆所输入的密码
mysql> grant all privileges on *.* to root@'%'identified by '123';

如果这时候,还是不能远程连接的话,有可能是系统的防火墙拦截了。
在防火墙里面打开MySQL的3306端口:

#增加3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent

#重新加载配置,使配置生效
firewall-cmd --reload

如下图:
😄CentOS7安装MySQL - 图4

这时候就可以成功连接上了。

如果想了解更多防火墙配置,请看:[防火墙配置]

参考:
[1] centos7 mysql数据库安装和配置