您现在的位置是:首页 > 文章详情

centos 6.9二进制安装mariadb 5.5.57

日期:2017-10-14点击:555

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 时就不用输入密码了,登录上之后也不能再对用户设置密码或更改了

原文链接:https://www.centoschina.cn/server/sql/Mariadb/9039.html
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章