CentOS下安装mysql5.7.18的正确姿势

来源:互联网 发布:淘宝实名账号购买 编辑:程序博客网 时间:2024/05/18 05:17

前段日子,学着在虚拟机上装一个mysql,但安了好几次都失败了,这让我很尴尬,感觉我还是比较适合mongodb。。。。。不过机智的我最终还是把Mysql5.7.18装好了,下面就给大家分享一下如何正确的安装MYSQL5.7.18。
首先,到官网上下载mysql安装包(就步就很让人蛋疼)我的系统是centos7。我们先进入mysql官网
这里写图片描述
点击“DOWNLOADS”
这里写图片描述
点击“Community”
这里写图片描述
点击“MYSQL Community Server”,接着在页面最下方选择Mysql版本
这里写图片描述
这里下拉框选择的是Linux-Generic和Linux-Generic(glibc 2.5)(x86,64-bit),然后下面的下载资源选择第一个,下载完成之后第一步就搞定了。

第二步,将压缩包复制到虚拟机上,这里我复制到~即/home/wopelo下
这里写图片描述
右上角的mysql文件夹是我之后要创建的,大家现在不比理会。
解压tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
重命名解压后的文件夹mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql。之前提到的mysql文件夹就是这样子来的。默认情况下,mysql应该解压到/usr/local下,但为了避免分区空间不够等一系列问题,我就将mysql解压到~。
解压之后进入到mysql文件夹,看到的就应该是酱紫的
这里写图片描述
一开始是没有data文件夹的,需要手动新建。而且很多网上教程上提及的scripts文件夹有没有,这应该是版本的原因。

在第三步之前,网上有些教程要求添加系统mysql组和mysql用户,但我觉得这步没必要,就省去了。操作起来其实就是两行命令

groupadd mysqluseradd -r -g mysql mysql

第三步添加开机启动mysql服务,执行命令

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

第四步配置环境变量。
首先执行vi /etc/profile作如下修改
这里写图片描述
保存退出之后source /etc/profile使修改生效
对mysql起作用的是最后两行,开头两行是之前配置node.js时设置的。需要注意的是这里出现了两次“export PATH”,不过该表达式后面都会有一个“:$PATH”,这其实是在原有PATH变量上追加内容
这里写图片描述
由于我们不是在默认安装路径/usr/local下安装Mysql的,所以还需要配置另外一个文件

vi /etc/init.d/mysql 

做如下修改
这里写图片描述
把basedir什么的全部改为当前的路径

第五步也是目前最坑的一步——注册和初始化MySQL服务,网上的教程大多是mysql_install_db 方式安装的,但这样子会报错“mysql_install_db is deprecated. Please consider switching to mysqld –initialize”,意思是mysql_install_db是过时的。请考虑改用mysqld -初始化。而且之前的很多教程上需要配置什么my.cnf或者my_default.cnf的,但现在你根本找不到这些文件,这可能是因为版本(5.7开始用mysqld,之前的用mysql_install_db)和压缩包不同的原因吧。这里,注册和初始化应该这样子操作——先进入bin目录,然后执行

./mysqld --initialize-insecure --user=root --basedir=/home/wopelo/mysql --datadir=/home/wopelo/mysql/data

这儿需要注意,user参数如果之前添加了Mysql组,user的值写mysql就行,但后面必须要注意文件夹读写权限的问题。如果没有添加mysql组,那就按上面的写就行,我比较推荐用root的方法,出现下面这种情况就是正确注册和初始化
这里写图片描述
警告什么的都不用管,只要不是ERROR就行。这里注意一定要把user/basedir/datadir三个参数带上,不然会抛出一个错误Can't find messagefile '/usr/share/errmsg.sys'。另外,如果你直接service mysql start就会出现类似于The server quit without updating PID file的错误。以前我看其他教程的时候发现他们都是在scripts文件夹下初始化的,但我没有scripts文件夹,我就直接启动mysql,然后就抛出了这个错。

第六步启动、登录mysql、修改可远程访问、修改mysql密码
启动mysqlservice mysql start(这里可以脑补出重启和退出mysql的命令)
登录mysql./mysql -u root -p默认用户名为root,默认密码为空,即之后出现的Enter password直接回车就行,效果如下
这里写图片描述
修改可远程访问
这里写图片描述
修改密码
这里写图片描述
如果想退出mysql命令行则直接输入exit回车即可

综上就是在centos下安装mysql5.7.18的正确方法,完结撒花,阿里嘎多。