<p>CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默认好像是没有mysql的。</p><p>上一篇安装的是5.6的但是我想安装5.7的 yum安装是最简单的 尝试过编译安装各种问题,最后就决定用yum。</p><p>(经过一段时间的学习又写了一篇用源码安装mysql5.7.22的 点击打开链接)</p><p>1.卸载 先停掉mysql进程 没有安装过的可以直接跳过</p><p> pkill -9 mysqld</p><p> <img src="/up_pic/201905/110216238868.png" title="110216238868.png" alt="1.png"/></p><p> rpm -qa|grep -i mysql</p><p> <img src="/up_pic/201905/110216283357.png" title="110216283357.png" alt="2.png"/></p><p> 用命令 yum -y remove</p><p> yum -y remove mysql-community-client-5.6.38-2.el7.x86_64</p><p> 卸载不掉的用 rpm -ev</p><p> 依次卸载 直到没有</p><p><img src="/up_pic/201905/110216554359.png" title="110216554359.png" alt="3.png"/></p><p> </p><p>2.下载mysql的repo源 这个安装的mysql5.7.20 /**纠正一下,这源下载的是最新的版本 ****/</p><p> [root@localhost ~]# cd /usr/local/src/</p><p> [root@localhost src]# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm</p><p> [root@localhost src]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm</p><p> [root@localhost src]# yum -y install mysql-server</p><p>(也可以指定安装目录 yum --installroot=/usr/local/mysql --releasever=/ -y install mysql-server )我没试,这样装环境变量配置都不用你管,装上直接启动就行。安装路径是默认的。</p><p><img src="/up_pic/201905/110217165638.png" title="110217165638.png" alt="1.png"/></p><p> </p><p> 一路 y</p><p><img src="/up_pic/201905/110217192277.png" title="110217192277.png" alt="2.png"/></p><p></p><p>根据步骤安装就可以了,</p><p>默认配置文件路径:</p><p>配置文件:/etc/my.cnf</p><p>日志文件:/var/log/var/log/mysqld.log</p><p>服务启动脚本:/usr/lib/systemd/system/mysqld.service</p><p>socket文件:/var/run/mysqld/mysqld.pid</p><p></p><p> 配置 my.cnf vim /etc/my.cnf</p><pre class="brush:bash;toolbar:false">[mysqld]
#
#Removeleading#andsettotheamountofRAMforthemostimportantdata
#cacheinMySQL.Startat70%oftotalRAMfordedicatedserver,else10%.
#innodb_buffer_pool_size=128M
#
#Removeleading#toturnonaveryimportantdataintegrityoption:logging
#changestothebinarylogbetweenbackups.
#log_bin
#
#Removeleading#tosetoptionsmainlyusefulforreportingservers.
#TheserverdefaultsarefasterfortransactionsandfastSELECTs.
#Adjustsizesasneeded,experimenttofindtheoptimalvalues.
#join_buffer_size=128M
#sort_buffer_size=2M
#read_rnd_buffer_size=2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server_id=1
expire_logs_days=3
#Disablingsymbolic-linksisrecommendedtopreventassortedsecurityrisks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid</pre><p></p><p>不过安装完成后,密码为随机密码,需要重置密码。</p><p></p><p></p><p>4. 启动mysql服务</p><p>service mysqld restart</p><p>重置密码</p><p> [root@localhost ~]# grep "password" /var/log/mysqld.log </p><p><img src="/up_pic/201905/110217547703.png" title="110217547703.png" alt="1.png"/></p><p> </p><p> 可以看到 输入 mysql -u root -p 密码 进入 第一次登陆 ,需要重置密码 要不什么也不能操作</p><p> <img src="/up_pic/201905/110218078204.png" title="110218078204.png" alt="2.png"/> </p><p> 接下来重置密码:5.7.20 为了安全密码 必须包含 数字字母符号</p><p> 踩过的坑啊,设置了好几次。还有这ip不能是% 不知道为什么 反正第一次设置成%没成功 登上去之后再改就可以改了。</p><p> 把密码改简单的方法 http://blog.csdn.net/z13615480737/article/details/78907697</p><p> alter user 'root'@'localhost' identified by 'Root!!2018';</p><p><img src="/up_pic/201905/110218224432.png" title="110218224432.png" alt="3.png"/></p><p> 最后记得刷新权限;</p><p> flush privileges</p><p> 也可以 直接再添加新用户 </p><p> CREATE USER ‘root‘@‘%‘ IDENTIFIED BY ‘您的密码‘;</p><p> grant all on *.* to 'root001'@'%' identified by 'Root@@' with grant option;</p><p> 增加root用户指定可以任意IP登录,如果想限制只能让指定IP登录请把%替换成IP地址</p><p>------------至此安装成功------------下面是我遇到的一下问题---没遇到问题的不用看-------------------------------------</p><p> 问题:如果发现找不到密码!!!!!</p><p> 解决:只能通过忘记密码的方式修改密码!!! 在安装的过程中发现找不到密码???折腾了好长时间 通过修改密码找回之后发现、原来之前安装的数据库在了,就没有生产新的数据库!!用的还是之前的配置。</p><p>2.看mysql启动了没?初始化数据库了没? 一般直接启动 数据库 就可以 用grep "password" /var/log/mysqld.log 看到随机密码了</p><p></p><p>修改MySQL的登录设置:</p><p>#vi /etc/my.cnf</p><p>在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi。</p><p>重新启动mysqld</p><p>重新启动mysqld</p><p>#/etc/init.d/mysqld restart ( service mysqld restart )</p><p>use mysql</p><p>update user set password=password("12345") where user="root";</p><p>mysql 5.7的数据库没有了password字段 用的是authentication_string字段</p><p>mysql> update mysql.user set authentication_string=password('root') where user='root' ;</p><p>flush privileges;</p><p>修改密码之后在改回来</p>