云服务器Mysql安装配置



所有平台的 MySQL 下载地址为: MySQL 下载(https://dev.mysql.com/downloads/mysql/) 。 挑选你需要的 MySQL Community Server 版本及对应的平台。

注意:安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足导致无法安装。

1. Linux/UNIX 上安装 MySQL

Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址:

  • MySQL - MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
  • MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器。
  • MySQL-devel - 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。
  • MySQL-shared - 该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
  • MySQL-bench - MySQL数据库服务器的基准和性能测试工具。

安装前,我们可以检测系统是否自带安装 MySQL:

[root@izwz9g9rz7v30c7l7z7ft2z ~]# rpm -qa | grep mysql

如果你系统有安装,那可以选择进行卸载:

rpm -e mysql  // 普通删除模式
rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

安装 MySQL:

接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意的是 CentOS 7 版本中 MySQL数据库已从默认的程序列表中移除,所以在安装前我们需要先去官网下载 Yum 资源包,下载地址为:https://dev.mysql.com/downloads/repo/yum/

wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
rpm -ivh mysql80-community-release-el7-2.noarch.rpm
yum update
yum install mysql-server

权限设置:

chown mysql -R /var/lib/mysql

初始化 MySQL:

mysqld --initialize

启动 MySQL:

systemctl start mysqld

查看 MySQL 运行状态:

systemctl status mysqld

注意: 如果我们是第一次启动 mysql 服务,mysql 服务器首先会进行初始化的配置。

此外,你也可以使用 MariaDB 代替,MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

yum install mariadb-server mariadb

mariadb数据库的相关命令是:

systemctl start mariadb  #启动MariaDB
systemctl stop mariadb  #停止MariaDB
systemctl restart mariadb  #重启MariaDB
systemctl enable mariadb  #设置开机启动

2. 验证 MySQL 安装

在成功安装 MySQL 后,一些基础表会表初始化,在服务器启动后,你可以通过简单的测试来验证 MySQL 是否工作正常。

使用 mysqladmin 工具来获取服务器状态:

使用 mysqladmin 命令俩检查服务器的版本, 在 linux 上该二进制文件位于 /usr/bin 目录

[root@host]# mysqladmin --version

linux上该命令将输出以下结果,该结果基于你的系统信息:

mysqladmin  Ver 8.0.15 for Linux on x86_64 (MySQL Community Server - GPL)

如果以上命令执行后未输入任何信息,说明你的Mysql未安装成功。

3. 使用 MySQL Client(Mysql客户端) 执行简单的SQL命令

你可以在 MySQL Client(Mysql客户端) 使用 mysql 命令连接到 MySQL 服务器上,以前默认情况下 MySQL 服务器的登录密码为空,但是现在调整了机制会产生一个临时密码。接下来要获取MySQL的初始密码。

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

[root@izwz9g9rz7v30c7l7z7ft2z ~]# grep 'temporary password' /var/log/mysqld.log
2019-04-18T08:28:23.406143Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: kgu<NAtTD1F,

接着登录并修改密码,命令如下:

[root@host]# mysql -uroot -p'kgu<NAtTD1F,'

接着输入临时密码进入MySQL,尔后输入 ALTER USER 'root'@'localhost' IDENTIFIED BY 'your new passwordr; 命令,进行root用户的密码修改工作。

以上命令执行后会输出 mysql>提示符,这说明你已经成功连接到Mysql服务器上,你可以在 mysql> 提示符执行SQL命令:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

4. 其他疑难杂症

4.1 远程用户不能连接

如果之前的配置都正确,那么一种情况就是需要修改绑定的地址;第二种情况就是没有开放3306端口。

4.1.1 修改全地址可访问

在命令行工具中输入vi /etc/my.cnf,尔后按一下键盘上的i键表示要进行写入操作,接着在[mysqld]下方输入bind-address=0.0.0.0,退出按下Esc,然后输入:wq!按下回车。

重启服务service mysqld restart。

[root@izwz9g9rz7v30c7l7z7ft2z ~]# vim /etc/my.cnf
[root@izwz9g9rz7v30c7l7z7ft2z ~]# service mysqld restart
Redirecting to /bin/systemctl restart mysqld.service
[root@izwz9g9rz7v30c7l7z7ft2z ~]# netstat -tln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN
tcp6       0      0 :::33060                :::*                    LISTEN

4.1.2 开放3306端口

修改配置文件,在命令行输入vi /etc/sysconfig/iptables,尔后在文件中写入-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT,然后保存退出同上。

重启防火墙使配置生效: systemctl restart iptables.service 设置防火墙开机启动: systemctl enable iptables.service

举报
评论 0