Centos7操作系统上搭建mysql服务器

Centos7将默认数据库mysql替换成了Mariadb,如果想继续使用mysql 需要卸载Mariadb 再安装mysql;当然也有的直接安装mysql会覆盖mariadb,保险起见还是先卸载

1.查看是否安装了mariadb

              rpm -qa |grep -i mariadb

2.卸载已经安装的:

             yum remove mariadb*

3.  cd /usr/src

4.下载mysql的rmp包到第3步的路径下:

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

这里提以下 -c这个参数意思,就是下载到一半的时候断掉,下次wget可以继续下载的意思。

5.yum -y install mysql57-community-release-el7-10.noarch.rpm

6.安装mysql服务器:

      yum -y install mysql-community-server

7.安装完成后就可以启动了:systemctl start mysqld

      Systemctl status mysqld可以查看mysql服务器的状态,显示绿色的active(running)就表示安装成功了

8.如果想要进入到mysql,需要知道mysql的默认密码

      grep "password" /var/log/mysqld.log

      返回的内容类似:A temporary password is generated for root@localhost: jw>Q*:pru6Tm

9.输入命令mysql -u root -p

      回车后输入上一步的默认密码

10.进来以后需要修改密码,修改密码后才能进行其他操作:

      ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

      这里的新密码输入一个字符数字和特殊符号组合的并且大于8位数的密码就可以。

11.如果觉得密码设置的过于复杂,想简单点,可以通过下面的命令,要先修改密码才能进行下面的操作:

      SHOW VARIABLES LIKE 'validate_password%';

      设置密码的验证强度等级为LOW:

          set global validate_password_policy=LOW;

      设置密码长度为6位:

          set global validate_password_length=6;

      修改完密码规则后再重新修改密码:

          ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

12.开启mysql的远程访问

      grant all privileges on *.* to 'root'@'192.168.1.113' identified by '输入一个密码' with grant option;

       192.168.1.113是想要允许远程访问的电脑IP,如果是想要所有的电脑都能访问,将这个IP换成%即可。用户名root,也可以改成其他的,密码就是后面输入的密码。

       开启远程访问后,用192.168.1.113这台电脑访问下mysql数据库,用root用户名登陆,密码输入第13步设置的密码,就可以成功远程登陆mysql了。

 

13.设置防火墙,添加开放端口

    设置mysql的:

        firewall-cmd --zone=public --add-port=3306/tcp --permanent

    --permanent是永久生效的意思,如果没有这个参数,重启电脑后就失效了。

    设置tomcat的:

        firewall-cmd --zone=public --add-port=8080/tcp --permanent

    设置完记得重启:systemctl restart firewalld

 14.进入mysql,然后输入status

      mysql> status

 

       发现有两个charset编码不是utf8,可以修改下mysql的主配置文件,输入quit退出mysql,然后进入下面这个路径:

         vi /etc/my.cnf

      按照如下图修改:

 

修改完成后关闭my.cnf

重启mysql服务:systemctl restart mysqld

然后再次进入mysql:mysql -u root -p

输入status,发现编码都变成utf8了

进入windows,打开cmd,输入mysql -h 192.168.1.xx -P 3306 -u root -p

 输入密码也可以进入mysql了。

 

 

忘记密码:

 

忘记了设置的密码,报1045错,但是还记得root的密码,可以简单执行下面的步骤来改一下密码。

执行命令:

use mysql;

SELECT HOST,USER,authentication_string FROM USER;

发现表中有4条记录:

authentication这列是密码列,最后一条放开访问的那台电脑,忘记密码的那个,第一行的密码是我们设置的密码,就直接将最后一行改成我们知道的密码:

updata USER SET authentication_string='第一行的密码' WHERE HOST='192.168.1.113';

另外还可以设置不用密码直接进入mysql

 vi /etc/my.cnf

在[mysqld]下面加上skip-grant-tables

加这两句话意思就是进入mysql不需要密码。

 

原文地址:https://www.cnblogs.com/sy_test/p/13620647.html