MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用于中小型网站开发。随着MySQL的不断成熟,它也逐渐被应用于更多大规模网站和应用,比如维基百科、谷歌(Google)、脸书(Facebook)、淘宝网等网站都使用了MySQL来提供数据持久化服务。
甲骨文公司收购后昇阳微系统公司,大幅调涨MySQL商业版的售价,且甲骨文公司不再支持另一个自由软件项目的发展,因此导致自由软件社区对于Oracle是否还会持续支持MySQL社区版(MySQL的各个发行版本中唯一免费的版本)有所担忧,MySQL的创始人麦克尔·维德纽斯以MySQL为基础,成立分支计划MariaDB(以他女儿的名字命名的数据库)。有许多原来使用MySQL数据库的公司(例如:维基百科)已经陆续完成了从MySQL数据库到MariaDB数据库的迁移。
安装和配置
刚才说过,MySQL有一个分支版本名叫MariaDB,该数据库旨在继续保持MySQL数据库在下开源。如果要使用MariaDB作为MySQL的替代品,可以使用下面的命令进行安装。
如果要安装官方版本的MySQL,可以在MySQL官方网站下载安装文件。首先在下载页面中选择平台和版本,然后找到对应的下载链接。下面以MySQL 5.7.26版本和Red Hat Enterprise Linux为例,直接下载包含所有安装文件的归档文件,解归档之后通过包管理工具进行安装。
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
如果系统上有MariaDB相关的文件,需要先移除MariaDB相关的文件。
yum list installed | grep mariadb | awk '{print $1}' | xargs yum erase -y
接下来可以按照如下所示的顺序用RPM(Redhat Package Manager)工具安装MySQL。
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
可以使用下面的命令查看已经安装的MySQL相关的包。
-
MySQL的配置文件在
/etc
目录下,名为,默认的配置文件内容如下所示。如果对这个文件不理解并没有关系,什么时候用到这个配置文件什么时候再了解它就行了。cat /etc/my.cnf
启动MySQL服务。
可以使用下面的命令来启动MySQL。
service mysqld start
在CentOS 7中,更推荐使用下面的命令来启动MySQL。
systemctl start mysqld
启动MySQL成功后,可以通过下面的命令来检查网络端口使用情况,MySQL默认使用3306端口。
netstat -ntlp | grep mysql
也可以使用下面的命令查找是否有名为mysqld的进程。
pgrep mysqld
使用MySQL客户端工具连接服务器。
命令行工具:
mysql -u root -p
上面的命令会查看MySQL的日志带有password的行,在显示的结果中后面的部分就是默认设置的初始密码。
修改超级管理员(root)的访问口令为
123456
。set global validate_password_policy=0;
set global validate_password_length=6;
alter user 'root'@'localhost' identified by '123456';
再次使用客户端工具连接MySQL服务器时,就可以使用新设置的口令了。在实际开发中,为了方便用户操作,可以选择图形化的客户端工具来连接MySQL服务器,包括:
- Navicat for MySQL(界面简单,功能直观)
- SQLyog for MySQL(强大的MySQL数据库管理员工具)
常用命令。
查看服务器版本。
select version();
查看所有数据库。
show databases;
切换到指定数据库。
use mysql;
查看数据库下所有表。
show tables;