一、mysql 简介
说到数据库,我们大多想到的是关系型数据库,比如 mysql、oracle、sqlserver 等等,这些数据库软件在 windows 上安装都非常的方便,在 Linux 上如果要安装数据库,咱不得不首先推荐的是 mysql 数据库了,而且 Mysql 数据库的第一个版本就是发行在 Linux 系统上的。
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条 "授权政策"),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
在 Linux 上安装 mysql 数据库,我们可以去其官网上下载 mysql 数据库的 rpm 包,http://dev.mysql.com/downloads/mysql/5.6.html#downloads,大家可以根据自己的操作系统去下载对应的数据库文件,目前最新的版本是 5.6.10 了。
在这里我是通过 yum 来进行 mysql 数据库的安装的,通过这种方式进行安装,可以将跟 mysql 相关的一些服务、jar 包都给我们安装好,所以省去了很多不必要的麻烦!!!
二、卸载掉原有 mysql
因为 mysql 数据库在 Linux 上实在是太流行了,所以目前下载的主流 Linux 系统版本基本上都集成了 mysql 数据库在里面,我们可以通过如下命令来查看我们的操作系统上是否已经安装了 mysql 数据库
- [root@xiaoluo~]#rpm - qa | grep mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库
有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉
- [root@xiaoluo~]#rpm - e mysql // 普通删除模式[root@xiaoluo ~]# rpm -e --nodeps mysql// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
在删除完以后我们可以通过 rpm -qa | grep mysql 命令来查看 mysql 是否已经卸载成功!!
三、通过 yum 来进行 mysql 的安装
我是通过 yum 的方式来进行 mysql 的数据库安装,首先我们可以输入 yum list | grep mysql 命令来查看 yum 上提供的 mysql 数据库可下载的版本:
- [root@xiaoluo ~]# yum list | grep mysql
就可以得到 yum 服务器上 mysql 数据库的可下载版本信息:
然后我们可以通过输入 yum install -y mysql-server mysql mysql-devel 命令将 mysql mysql-server mysql-devel 都安装好 (注意: 安装 mysql 时我们并不是安装了 mysql 客户端就相当于安装好了 mysql 数据库了,我们还需要安装 mysql-server 服务端才行)
- [root@xiaoluo ~]# yum install -y mysql-server mysql mysql-deve
在等待了一番时间后,yum 会帮我们选择好安装 mysql 数据库所需要的软件以及其它附属的一些软件
我们发现,通过 yum 方式安装 mysql 数据库省去了很多没必要的麻烦,当出现下面的结果时,就代表 mysql 数据库安装成功了
此时我们可以通过如下命令,查看刚安装好的 mysql-server 的版本
- [root@xiaoluo ~]# rpm -qi mysql-server
我们安装的 mysql-server 并不是最新版本,如果你想尝试最新版本,那就去 mysql 官网下载 rpm 包安装就行了,至此我们的 mysql 数据库已经安装完成了。
四、mysql 数据库的初始化及相关配置
我们在安装完 mysql 数据库以后,会发现会多出一个 mysqld 的服务,这个就是咱们的数据库服务,我们通过输入 service mysqld start 命令就可以启动我们的 mysql 服务。
注意:如果我们是第一次启动 mysql 服务,mysql 服务器首先会进行初始化的配置,如:
- [root@xiaoluo~]#service mysqld start初始化MySQL数据库:WARNING: The host 'xiaoluo'could not be looked up with resolveip.This probably means that your libc libraries are not 100 % compatiblewith this binary MySQL version.The MySQL daemon,
- mysqld,
- should worknormally with the exception that host name resolving will not work.This means that you should use IP addresses instead of hostnameswhen specifying MySQL privileges ! Installing MySQL system tables...OKFilling help tables...OKTo start mysqld at boot time you have to copysupport - files / mysql.server to the right place
- for your systemPLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so,
- start the server,
- then issue the following commands: /usr/bin / mysqladmin - u root password 'new-password' / usr / bin / mysqladmin - u root - h xiaoluo password 'new-password'Alternatively you can run: /usr/bin / mysql_secure_installationwhich will also give you the option of removing the testdatabases and anonymous user created by
- default.This isstrongly recommended
- for production servers.See the manual
- for more instructions.You can start the MySQL daemon with:
- cd / usr;
- /usr/bin / mysqld_safe & You can test the MySQL daemon with mysql - test - run.plcd / usr / mysql - test;
- perl mysql - test - run.plPlease report any problems with the / usr / bin / mysqlbug script ! [确定]正在启动mysqld: [确定]
这时我们会看到第一次启动 mysql 服务器以后会提示非常多的信息,目的就是对 mysql 数据库进行初始化操作,当我们再次重新启动 mysql 服务时,就不会提示这么多信息了,如:
- [root@xiaoluo ~]# service mysqld restart停止 mysqld: [确定]正在启动 mysqld: [确定]
我们在使用 mysql 数据库时,都得首先启动 mysqld 服务,我们可以 通过 chkconfig --list | grep mysqld 命令来查看 mysql 服务是不是开机自动启动,如:
- [root@xiaoluo ~]# chkconfig --list | grep mysqldmysqld 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
我们发现 mysqld 服务并没有开机自动启动,我们当然可以通过 chkconfig mysqld on 命令来将其设置成开机启动,这样就不用每次都去手动启动了
- [root@xiaoluo ~]# chkconfig mysqld on[root@xiaoluo ~]# chkconfig --list | grep mysqlmysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
mysql 数据库安装完以后只会有一个 root 管理员账号,但是此时的 root 账号还并没有为其设置密码,在第一次启动 mysql 服务时,会进行数据库的一些初始化工作,在输出的一大串信息中,我们看到有这样一行信息 :
- /usr/bin / mysqladmin - u root password 'new-password' // 为root账号设置密码
所以我们可以通过 该命令来给我们的 root 账号设置密码 (注意:这个 root 账号是 mysql 的 root 账号,非 Linux 的 root 账号)
- [root@xiaoluo~]#mysqladmin - u root password 'root' // 通过该命令给root账号设置密码为 root
此时我们就可以通过 mysql -u root -p 命令来登录我们的 mysql 数据库了
五、mysql 数据库的主要配置文件
1./etc/my.cnf 这是 mysql 的主配置文件
我们可以查看一下这个文件的一些信息
- [root@xiaoluo etc]# ls my.cnf my.cnf[root@xiaoluo etc]# cat my.cnf [mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysql# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid
2./var/lib/mysql mysql 数据库的数据库文件存放位置
我们的 mysql 数据库的数据库文件通常是存放在了 / ver/lib/mysql 这个目录下
- [root@xiaoluo~]#cd /
- var / lib / mysql / [root@xiaoluo mysql]#ls - l总用量20488 - rw - rw----.1 mysql mysql 10485760 4月6 22 : 01 ibdata1 - rw - rw----.1 mysql mysql 5242880 4月6 22 : 01 ib_logfile0 - rw - rw----.1 mysql mysql 5242880 4月6 21 : 59 ib_logfile1drwx------.2 mysql mysql 4096 4月6 21 : 59 mysql // 这两个是mysql数据库安装时默认的两个数据库文件srwxrwxrwx. 1 mysql mysql 0 4月 6 22:01 mysql.sockdrwx------. 2 mysql mysql 4096 4月 6 21:59 test// 这两个是mysql数据库安装时默认的两个数据库文件
我们可以自己创建一个数据库,来验证一下该数据库文件的存放位置
- 创建一个我们自己的数据库:mysql > create database xiaoluo;
- Query OK,
- 1 row affected(0.00 sec)[root@xiaoluo mysql]#ls - l总用量20492 - rw - rw----.1 mysql mysql 10485760 4月6 22 : 01 ibdata1 - rw - rw----.1 mysql mysql 5242880 4月6 22 : 01 ib_logfile0 - rw - rw----.1 mysql mysql 5242880 4月6 21 : 59 ib_logfile1drwx------.2 mysql mysql 4096 4月6 21 : 59 mysqlsrwxrwxrwx.1 mysql mysql 0 4月6 22 : 01 mysql.sockdrwx------.2 mysql mysql 4096 4月6 21 : 59 testdrwx------.2 mysql mysql 4096 4月6 22 : 15 xiaoluo // 这个就是我们刚自己创建的xiaoluo数据库[root@xiaoluo mysql]# cd xiaoluo/[root@xiaoluo xiaoluo]# lsdb.opt
3./var/log mysql 数据库的日志输出存放位置
我们的 mysql 数据库的一些日志输出存放位置都是在 / var/log 这个目录下
- [root@xiaoluo xiaoluo]#cd[root@xiaoluo~]#cd /
- var / log[root@xiaoluo log]#lsamanda cron maillog - 20130331 spice - vdagent.loganaconda.ifcfg.log cron - 20130331 mcelog spooleranaconda.log cups messages spooler - 20130331anaconda.program.log dirsrv messages - 20130331 sssdanaconda.storage.log dmesg mysqld.log tallyloganaconda.syslog dmesg.old ntpstats tomcat6anaconda.xlog dracut.log piranha wpa_supplicant.loganaconda.yum.log gdm pm - powersave.log wtmpaudit httpd ppp Xorg.0.logboot.log ibacm.log prelink Xorg.0.log.oldbtmp lastlog sa Xorg.1.logbtmp - 20130401 libvirt samba Xorg.2.logcluster luci secure Xorg.9.logConsoleKit maillog secure - 20130331 yum.log
其中 mysqld.log 这个文件就是我们存放我们跟 mysql 数据库进行操作而产生的一些日志信息,通过查看该日志文件,我们可以从中获得很多信息
因为我们的 mysql 数据库是可以通过网络访问的,并不是一个单机版数据库,其中使用的协议是 tcp/ip 协议,我们都知道 mysql 数据库绑定的端口号是 3306 ,所以我们可以通过 netstat -anp 命令来查看一下,Linux 系统是否在监听 3306 这个端口号:
结果如上所示,Linux 系统监听的 3306 端口号就是我们的 mysql 数据库!!!!
mysql 连接 linux 系统提示 "登录出现 mysql 1130 host 119.139.169.211 is not allowed to connect to this MySqL server" 问题,解决方法
错误解释:服务器没有授权给你这个 ip 是不能连接的
你想 root 用户名使用 root 密码从任何主机连接到 MySQL 服务器的话。
运行命令:mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; 如果你想允许用户 root 从 ip 为 192.168.1.3 的主机连接到 mysql 服务器,并使用 root 作为密码运行命令:mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'root' WITH GRANT OPTION; 上面的命令创建一个可以从任意机器以 root 登录的超级账号,口令是 root。这样,就可以使用方便的图形工具 (navicat for mysql) 进行登录和操作,包括修改 root 的口令。其中用户名和密码、IP 换成自己的即可~~ 就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: http://www.92to.com/bangong/2017/04-05/19989465.html