详解CentOS7下安装Mysql和配置mysql
作者:止鱼
终于在centos下安装完了MySQL,使用的是yum在线安装方式。没有用源码安装,因为在线安装省时省力。
在上一台机器中,不知道什么原因使用yum在线安装速度很慢,无法下载,于是重做了系统安装,至于什么原因导致的网速慢暂时还未解决,以后回来补充,也欢迎各位评论解决。
记录一下MySQL的安装之路:
首先,由于yum中没有MySQL源,需要使用wget方式来安装:
下载mysql的repo源
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
安装mysql-community-release-el7-5.noarch.rpm包:
$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装MySQL
$ sudo yum install mysql-server
这个时间会有点长,耐心等待,如果网络状况不佳或者yum出问题了则会安装失败,只能使用本地源码安装
安装成功之后,先别急着登录。
cengtos在安装完成之后会随机为root用户生成一个密码,我们可以在grep "password" /var/log/mysqld.log 中去查看。
有些教程说需要先使用这个随机密码去登陆MySQL,再去修改密码。
扯淡,玩意密码中含有特殊字符咋整,比如;,直接退出。
正确做法是先修改mysql文件,使其无密码登录:
$ vim /etc/my.cnf
在MySQL下添加:
skip-grant-tables
启动MySQL:
$ systemctl start mysqld
输入mysql就可以直接登录,无需用户名密码。
接下来,修改密码:
mysql> use MySQL; mysql> update user set password=PASSWORD('root')where user='root';
在这里,会出错:
ERROR 1054 (42S22): Unknown column 'password' in'field list',原来是mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
应该使用:
MySQL>update MySQL.userset authentication_string=password('root') where user='root' ; MySQL>flush privileges;
这样,mysql就配置成功了
启动MySQL
$ systemctl start mysqld
登录成功!
最后,别忘了删除掉/etc/my.cnf 里的skip-grant-tables
重启mysql:
[root@bogon ~]# service mysqld restart
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。