今天看啥
热点:

centos 6.9二进制安装mariadb 5.5.57


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

www.bkjia.comtruehttp://www.bkjia.com/Linux/1233731.htmlTechArticlecentos 6.9二进制安装mariadb 5.5.57 1,注意先查看一下有没有mysql,如果有先卸载,卸载的时候发现有依赖,所以要忽略依赖 rpm -qa mysql* rpm -e...

相关文章

帮客评论

视觉看点