CentOS7默认安装MariaDB而不是MySQL,并且yum服务器上也移除了mysql相关的软件包。由于MariaDB和MySQL可能会冲突,故先卸载MariaDB。
1. 安装新版mysql以前,咱们须要将系统自带的mariadb-lib卸载node
[root@localhost ~]# rpm -qa | grep -i mariadb mariadb-libs-5.5.52-1.el7.x86_64 [root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
若是发现依赖缺陷报错, yum remove mysql-libs
注:详细卸载教程可自行百度,很简单。mysql
mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
注:我上传到的路径 /usr/local/toolslinux
注:全部解压包,不必定须要所有安装、注意安装顺序
如下是安装顺序 这几个包由依赖关系。执行有前后其中,client依赖于libs,server依赖于common和client.sql
rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm // <br> rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm //<br> rpm -ivh mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm<br> rpm -ivh mysql-community-client-5.7.18-1.el6.x87_64.rpm //客户端安装包 <br> rpm -ivh mysql-community-server-5.7.18-1.el6.x87_64.rpm //服务端安装包<br> rpm -ivh mysql-community-devel-5.7.18-1.el7.x87_64.rpm //包含开发用的库头文件安装包<br>
注: i-install安装;v-verbose进度条;h-hash哈希校验;安装过程当中可能会出现 perl 环境等问题,按提示百度就行。shell
[root@localhost mysql]# mysqld --initialize --user=mysql
若是是以 mysql 身份登陆运行,则能够去掉 –user 选项。
注: –initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过时,登录后你须要设置一个新的密码
这里演示使用的 –initialize 初始化的,会生成一个 root 帐户密码,密码在log文件里,红色区域的就是自动生成的密码数据库
使用 cat /var/log/mysqld.log
命令打开日志文件安全
注:systemctl是Centos7特有的启动方式服务器
systemctl start mysqld.service
mysql -u root -p;
set password = password('你的密码');
grant all privileges on *.* to 'root' @'%' identified by'你的密码';
flush privileges;
(转)socket
/charlie/software/mysql/data是我新建的MySQL目录,修改文件夹权限:sudo chown -R mysql:msyql /charlie/software/mysql/dataide
修改/etc/my.cnf文件
[mysqld]
character_set_server=utf8
socket=/charlie/software/mysql/data/mysql.sock
datadir=/charlie/software/mysql/data
#socket=/var/lib/mysql/mysql.sock
#datadir=/var/lib/mysql
执行sudo systemctl start mysqld 会没有反应。而后在/var/log/mysqld.log查看日志,ERR错误会有一个
Can't start server : Bind on unix socket: Permission denied这样子的错误。
执行命令getenforce是否是出现的是Enforcing,若是是的话,执行setenforce 0 临时关闭,就能够启动MySQL。
而后执行sudo /usr/bin/mysql_secure_installation就能够设置了。
若是后面执行mysql相关命令出现:Can’t connect to local MySQL server through socket错误。
编辑/etc/my.cnf文件添加
主要仍是对Linux不熟悉,找了好久才发现有多是selinux的缘由。