您的位置:首页 > 数据库 > MariaDB

centos 6.9二进制安装mariadb 5.5.57

2017-10-14 21:00 405 查看
1,注意先查看一下有没有mysql,如果有先卸载,卸载的时候发现有依赖,所以要忽略依赖 rpm -qa mysql*

rpm -e mysql-server –nodeps

rpm -e mysql –nodeps

rpm -e mysql-libs –nodeps

这个结果就是只删除了mysql,跟他有依赖关系的其它软件是不会删除的,但是这些软件因为系统里没有了mysql也会不能运行,这是所谓的没有删除干净。

如yum -y remove httpd这种方式是把与httpd有依赖关系的所有软件一并删除。比如php,mod_ssl等等。这就干净了

2, getent passwd mysql 发现已经有这个用户了,就不用再创建了

mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash 注意/var/lib/mysql是将来存放数据库的那个文件夹,/bin/bash是mysql的登录shell

rz mariadb-5.5.57-linux-x86_64.tar.gz (自行下载包)

3,tar xvf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/ (-C /usr/local/这个位置是人家事先定义好的,放在哪是有要求的,不能随便放)但是放在这还不够,这个目录名必须是mysql,所以下面我们就做了一个软链接,也可以直接改名(总之要让它以为是放在mysql文件夹里)

ln -s mariadb-5.5.57-linux-x86_64/ mysql

[root@CentOS6 local]# cd mysql/

ls一下发现这里面是已经编译完了的二进制程序

接下来看看有没有mysql用户,由于6系统已经装了mysql所以6里面是已经创建了mysql用户的,这是和7不同的地方

getent passwd mysql 查一下mysql用户

mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash 可以更改mysql的家目录以及登录shell,我们就不改了

接下来就要准备mysql的配置文件了,现在我们只是把包解压过来了(这些配置文件就在/usr/local/masql/support-files里面),我们需要把它复制到规定的目录里去,这个规定的目录就是/etc/mysql/,我们要自己创建

4 cd /usr/local/mysql/

mkdir /etc/mysql/

cp support-files/my-huge.cnf(不一定是这个文件,可以自己随便选一个,我们这里是做实验选的是这个) /etc/mysql/my.cnf

我们把配置文件复制并改名为/etc/mysql/my.cnf了,可以配置文件并不知道我们数据库的存放路径,所以现在要去改一下配置文件内容

vim /etc/mysql/my.cnf

[mysqld]

datadir = /var/lib/mysql 此行必须有

innodb_file_per_table = on

skip_name_resolve = on

5 ,修改完配置文件后还有一个问题就是在/usr/local/下有一个系统数据库mysql而现在我们的数据库存放地/var/lib/下是没有系统数据库mysql文件的,所以要创建一份,不用自己创建,系统已经提供了一个脚本来帮我们创建,这个脚本就在/usr/local/mysql下,执行以下命令即可

[root@CentOS6 mysql]# scripts/mysql_install_db –user=mysql –datadir=/var/lib/mysql

现在要启动服务脚本,同样有现成的服务脚本,直接复制并放到规定的目录(/etc/init.d)并且改名为mysqld

6 cp support-files/mysql.server /etc/init.d/mysqld

chkconfig –list mysqld

chkconfig –add mysqld

service mysqld start ,有时候服务启动会失败,失败提示说没有日志文件,这个时候创建个日志文件就行了,方法是 mkdir /var/log/mariadb/先创建这个目录chown mysql /var/log/mariadb/ 修改所属人service mysqld start 开启服务)

我们在6上做的时候启动服务成功了,所以就不做上面的那步了

ss -ntl 发现3306端口已经打开了

7,现在可以使用mysql命令了,但是命令没找到,原因是还没有改path路径,mysql原本是在bin下的

所以路径改为PATH=/usr/local/mysql/bin:$PATH

. /etc/profile.d/mysql.sh 生效

8,mysql_secure_installation

9,mysql -uroot -p



补充:出现Access denied for user ‘root’@’localhost’ (using password: YES)错误的解决方案

前两天在二进制安装mariadb时顺利安装成功并且登录,但是今天开机后用mysql -uroot -p登陆mysql一直登录不上并且提示Access denied for user ‘root’@’localhost’ (using password: YES)这样的错误,开始并不知道是怎么回事,后来折腾老半天才想起那天执行了一条命令把root用户的密码给改了,所以出现以上问题是用户名密码的问题,我看有些网上说的没有授权什么的,解决方案还要给用户授权,我想说如果登都登不上怎么授权,所以正确的解决方案是编辑/etc/mysql/下的my.cnf配置文件,增加一行skip-grant-tables = on,重启服[root@centos7/etc/mysql]#systemctl restart mysql,这样当你再mysql -uroot 时就不用输入密码了,登录上之后也不能再对用户设置密码或更改了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: