Linux学习之CentOS(1)--CentOS7下Mysql数据库的安装与配置

一、mysql简介

CentOS7.0默认的是Mariadb,至于Mariadb是啥?通过百度百科得知如下:

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字

二、卸载掉原有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数据库的可下载版本信息:

[root@localhost wang]# yum list | grep mysql 

(注意:安装mysql时我们并不是安装了mysql客户端就相当于安装好了mysql数据库了,我们还需要安装mysql-server服务端才行)

 

yum install mysql

yum install mysql-server

yum install mysql-devel

 

此时我们可以通过如下命令,查看刚安装好的mysql-server的版本

[root@localhost wang]# rpm -qi mysql-server 
package mysql-server is not installed

CentOS 7的yum源中没有正常安装mysql时的mysql-sever文件,需要去官网

1,首先需要去下载rpm包:

镜像地址:http://mysql.mirrors.pair.com/Downloads/

 

wget http://mysql.mirrors.pair.com/Downloads/MySQL-5.1/MySQL-server-community-5.1.72-1.rhel5.x86_64.rpm
wget http://mysql.mirrors.pair.com/Downloads/MySQL-5.1/MySQL-devel-community-5.1.72-1.rhel5.x86_64.rpm
wget http://mysql.mirrors.pair.com/Downloads/MySQL-5.1/MySQL-client-community-5.1.73-1.rhel5.i386.rpm

glibc是GNU发布的libc库

rpm -qa | grep glibc

2,开始安装server端:

yum remove mysql-libs
rpm -ivh MySQL-server-community-5.1.72-1.rhel5.x86_64.rpm

 

【linux】提示"libc.so.6: version `GLIBC_2.14' not found",系统的glibc版本太低

到http://www.gnu.org/software/libc/下载最新版本

【结果证明上面方式是错误的 】

从最新版本的linux系统开始,默认的是 Mariadb而不是mysql!

 

四、Mariadb数据库的初始化及相关配置

2. 安装数据库

[root@localhost wang]# yum install mariadb*

3. 启动数据库

service mariadb start

[root@localhost wang]# service mariadb start
Redirecting to /bin/systemctl start  mariadb.service
如果启动那个有问题执行
systemctl status mariadb.service
查看是否启成功
[root@localhost wang]# ps -ef |grep mysqld
mysql     12171      1  0 09:19 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
mysql     12267  12171  0 09:19 ?        00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/lib/mysql/localhost.localdomain.err --pid-file=localhost.localdomain.pid
root      12396  11769  0 09:23 pts/0    00:00:00 grep --color=auto mysqld
[root@localhost wang]# 

4. 修改root密码

  1. # 修改root密码 
  2. mysqladmin -u root password '123456' 

5. 登录数据库

  1. mysql -h 127.0.0.1 -P 3306 -u root –p 

6. 允许Root用户远程连接

遇到的问题:

MariaDB [mysql]> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

 

 

 

7.  修改数据存放目录
mysql, MariaDB 的默认数据存放在 /var/lib/mysql/ 目录下,如果不想放到此处,或者是想要程序和数据分离,或者是磁盘原因,需要切换到其他路径,则可以通过修改 datadir系统变量来达成目的.

[plain] view plaincopy

  1. # 停止数据库 
  2. service mysql stop 
  3. # 创建目录,假设没有的话 
  4. mkdir /usr/local/ieternal/mysql_data 
  5. # 拷贝默认数据库到新的位置 
  6. # -a 命令是将文件属性一起拷贝,否则各种问题 
  7. cp -a /var/lib/mysql /usr/local/ieternal/mysql_data 
  8. # 备份原来的数据 
  9. cp -a /etc/my.cnf /etc/my.cnf_original 
  10. # 其实查看 /etc/my.cnf 文件可以发现 
  11. # MariaDB 的此文件之中只有一个包含语句 
  12. # 所以需要修改的配置文件为 /etc/my.cnf.d/server.cnf 
  13. cp /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf_original 
  14. vim /etc/my.cnf.d/server.cnf 

然后 按 i 进入编辑模式,可以插入相关内容.使用键盘的上下左右键可以移动光标, 编辑完成以后,按 ESC 退出编辑模式(进入命令模式), 然后输入命令:wq 保存并退出

[sql] view plaincopy

  1. # 在文件的 mysqld 节下添加内容 
  2. [mysqld] 
  3. datadir=/usr/local/ieternal/mysql_data/mysql 
  4. socket=/var/lib/mysql/mysql.sock 
  5. #default-character-set=utf8 
  6. character_set_server=utf8 
  7. slow_query_log=on
  8. slow_query_log_file=/usr/local/ieternal/mysql_data/slow_query_log.log 
  9. long_query_time=2 

其中,也只有 datadir 和 socket 比较重要; 而 default-character-set 是 mysql 自己认识的,而 mariadb5.5 就不认识,相当于变成了 character_set_server

7.1 创建慢查询日志文件

既然上面指定了慢查询日志文件,我后来看了下MariaDB的err日志,发现MariaDB不会自己创建该文件,所以我们需要自己创建,并修改相应的文件权限(比如 mysql 采用 mysql用户,可能我们使用 root用户创建的文件,此时要求慢查询日志文件对mysql用户可读可写就行。)

你可能感兴趣的:(Linux学习之CentOS(1)--CentOS7下Mysql数据库的安装与配置)