所有平台的 MySQL 下载地址为: MySQL 下载 。 挑选你需要的 MySQL Community Server (社区免费版)
版本及对应的平台。
注意:安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足导致无法安装。
Linux上安装 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数据库服务器的基准和性能测试工具。
STEP1:MySQL旧版本检查
安装前,我们可以检测系统是否自带安装 MySQL
rpm -qa | grep mysql
如果你系统有安装,那可以选择进行卸载:
// 普通删除模式
rpm -e mysql
// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
rpm -e --nodeps mysql
STEP2:yum 安装
CentOS是比较常见的Liunx服务器,通常使用Yum命令来安装软件
接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL。
使用yum安装MySQL,需要预先配置MySQL YUM源
官网下载 Yum 资源包,下载地址为:https://dev.mysql.com/downloads/repo/yum/
wget -c https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
rpm -ivh mysql80-community-release-el7-6.noarch.rpm
yum update
yum install mysql-server
STEP3:权限设置
chown mysql:mysql -R /var/lib/mysql
STEP4:初始化 MySQL
初始化过程需要注意查看初始化密码xxxx
位置,把它复制保存下来,如果没有该提示密码即为空
... A temporary password is generated for root@localhost: xxxxxxxxxx ...
mysqld --initialize
STEP5:启动 MySQL
systemctl start mysqld
查看 MySQL 运行状态:
systemctl status mysqld
注意:如果我们是第一次启动 mysql 服务,mysql 服务器首先会进行初始化的配置。
STEP5:验证 MySQL 安装
在成功安装 MySQL 后,一些基础表会表初始化,在服务器启动后,你可以通过简单的测试来验证 MySQL 是否工作正常。
使用 mysqladmin 工具来获取服务器状态:
使用 mysqladmin 命令来检查服务器的版本, 在 linux 上该二进制文件位于 /usr/bin 目录,在 Windows 上该二进制文件位于C:\mysql\bin 。
[root@host]# mysqladmin --version
执行命令后将输出以下结果,该结果基于你的系统信息:
mysqladmin Ver 8.0.28 for Win64 on x86_64 (MySQL Community Server - GPL)
如果以上命令执行后未输出任何信息,说明你的Mysql未安装成功。
Windows安装MySQL
Windows 上安装 MySQL 相对来说会较为简单,最新版本可以在 MySQL 下载 中下载中查看。
选择 Recommended Download MSI安装版本
在下载页面,可以选择WEB在线安装(预先下载较小的安装启动包)或者离线安装:
下载完后,解压缩安装即可
MySQL密码安全
MySQL安装成功后,无论root用户初始密码是否为空,接下来都需要修改为高度安全的密码:
[root@host]# mysqladmin -u root password "new_password";
MySQL命令
你可以在 MySQL Client(Mysql客户端) 使用 mysql 命令连接到 MySQL 服务器上
mysql登录命令
[root@host]# mysql -u 用户名 -h MySQL服务器机器名|IP -p (将要求输入密码)
参数说明:
- -h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
- -u : 登录的用户名;
- -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
命令举例
[root@host]# mysql -u root -h 127.0.0.1 -p
Enter password:
输入密码(如果安装过程没有出现初始化密码过程,密码为空)
注意:在输入密码时,密码显示为*,你正确输入即可。
以上命令执行后会输出mysql>
提示符,这说明你已经成功连接到MySQL服务器上,你可以在mysql>
提示符执行SQL命令:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.13 sec)
MySQL配置文件
通过配置文件可以优化MySQL的执行效能
配置文件位置
linux
文件名 | 目的 |
---|---|
/etc/my.cnf | 全局选项 |
/etc/mysql/my.cnf | 全局选项 |
SYSCONFDIR/my.cnf | 全局选项 |
$MYSQL_HOME/my.cnf | 服务器特定选项(仅限服务器) |
defaults-extra-file | 用指定的文件 --defaults-extra-file,如果有的话 |
~/.my.cnf | 用户特定选项 |
~/.mylogin.cnf | 用户特定的登录路径选项(仅限客户端) |
DATADIR/mysqld-auto.cnf | 系统变量使用 SET PERSISTor 持久化SET PERSIST_ONLY(仅限服务器) |
windows
文件名 | 目的 |
---|---|
%WINDIR%\my.ini, %WINDIR%\my.cnf | 全局选项 |
C:\my.ini, C:\my.cnf | 全局选项 |
BASEDIR\my.ini, BASEDIR\my.cnf | 全局选项 |
defaults-extra-file | 用 指定的文件 --defaults-extra-file,如果有的话 |
%APPDATA%\MySQL\.mylogin.cnf | 登录路径选项(仅限客户端) |
DATADIR\mysqld-auto.cnf | 系统变量使用 SET PERSISTor 持久化SET PERSIST_ONLY(仅限服务器) |
配置文件示例
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\web\\mysql-8.0.11
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
MariaDB
除了MySQL,你可能还听说过MariaDB,MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。
开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
在CentOS上安装也是极其简单方便
yum install mariadb-server mariadb
mariadb数据库的相关命令是:
systemctl start mariadb #启动MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重启MariaDB
systemctl enable mariadb #设置开机启动
其他操作与MySQL并无区别
讨论区