美文网首页
1、CentOS 安装 mysql

1、CentOS 安装 mysql

作者: 俊果果 | 来源:发表于2019-01-12 01:13 被阅读39次

    一、VM CentOS 注意事项

    1、 NAT 模式下,主机可以ping通虚拟机,虚拟机ping不通主机

    • 关闭主机的防火墙,发现虚拟机可以ping通主机
    • 进入防火墙高级设置-入站规则,找到项【文件和打印机共享(回显请求 – ICMPv4-In)】规则,设置为 允许 即可:


      image.png

    2、查看centos版本

    输入命令 rpm -q centos-release

    image.png

    3 、更新系统包到最新版本

    执行命令 yum update

    4、同步网络时间

    #1.  安装ntpdate工具
    yum -y install ntp ntpdate
    #2.  设置系统时间与网络时间同步
    ntpdate cn.pool.ntp.org
    #3.  将系统时间写入硬件时间
    hwclock --systohc
    
    • 查看时间 date

    二、安装 mysql

    1、首先查看系统是否已安装mysql

    • 执行命令 yum list installed | grep mysql
      image.png
    • 如果已安装,则需要先卸载: yum -y remove mysql-libs.x86_64
    • 再运行 whereis mysql 会发现已经没有mysql了,卸载完成

    2、查看可用的 mysql 包

    执行命令 yum list mysql*

    image.png
    说明:
    mysql-devel :开发用到的库以及包含文件
    mysql :mysql 客户端
    mysql-server : 数据库服务器

    3、自带的mysql版本太低

    • 访问 mysql官网,页面下方选择合适的源,Download 获取下载链接【https://repo.mysql.com//mysql80-community-release-el6-1.noarch.rpm
      执行命令 wget https://repo.mysql.com//mysql80-community-release-el6-1.noarch.rpm, 下载完成后当前目录下会多出来下载的文件
      image.png
    • 执行命令 yum localinstall mysql80-community-release-el6-1.noarch.rpmrpm -Uvh mysql80-community-release-el6-1.noarch.rpm 安装下载的源
      然后执行命令 yum repolist all | grep mysql查看该源可安装的包
      image.png
    • yum repolist enabled | grep mysql 可查看默认安装的版本,若要修改,编辑文件 vim /etc/yum.repos.d/mysql-community.repo, 这里安装 5.7 版本,所以需要将 8.0 的 enable 改为 0, 5.7 的 enable 改为 1
      image.png
      保存后查看:
      image.png

    4、安装 mysql

    管理员身份运行 sudo yum install mysql-community-server
    等待安装完成

    image.png
    5、启动 mysql
    执行命令 service mysqld restart
    查看运行情况 service mysqld status
    • mysql -V 查看安装的版本
      image.png
    • 执行命令sudo grep 'temporary password' /var/log/mysqld.log查看默认生成的密码
      image.png
    • 执行命令 mysql -u root -p回车后输入看到的密码
      image.png
    • 执行命令 ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; 修改密码
      image.png

    5、安装完成

    点此链接查看官方说明

    三、配置

    1、字符集编码

    • 执行命令 vim /usr/share/mysql/charsets/Index.xml 或进入 mysql 执行 SHOW CHARACTER SET; 查看系统支持的所有编码和字符集
    • 查看系统目前生效的编码配置 :
      show variables like 'collation_%';
      image.png
      show variables like 'character_set_%';
      image.png
    • 修改字符集
      vi /etc/my.cnf 在最下面添加如下配置项:
    #add by keith 2019-01-12
    character-set-server=utf8
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    

    保存、重启mysql后,再查看生效字符集:


    image.png

    2、配置开机自动启动

    chkconfig mysqld on

    3、远程连接

    • 此时mysql还不支持远程链接,会报错


      image.png
    • MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost只能本机访问;其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问。
      执行命令:
      use mysql;
      update user set host = '%' where user = 'root';

      image.png
    • telnet 3306 端口报错


      image.png

      说明防火墙未开放 3306 端口

    • 查看端口号监听状态
      netstat -ntpl |grep 22

      image.png
      127.0.0.1:回环地址。该地址指电脑本身,主要预留测试本机的TCP/IP协议是否正常。只要使用这个地址发送数据,则数据包不会出现在网络传输过程中。
      0.0.0.0地址被用于表示一个无效的,未知的或者不可用的目标。 在服务器中,0.0.0.0指的是本机上的所有IPV4地址,如果一个主机有两个IP地址,192.168.1.1 和 10.1.2.1,并且该主机上的一个服务监听的地址是0.0.0.0,那么通过两个ip地址都能够访问该服务。
    • iptables --list 查看防火墙

      image.png
      或如下命令:
      image.png
    • 防火墙开放端口
      开放端口
      /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
      然后保存:
      /etc/rc.d/init.d/iptables save
      查看打开的端口:
      /etc/init.d/iptables status

      image.png

    或者直接关闭防火墙
    service iptables stop -- 临时关闭
    chkconfig iptables off -- 永久关闭

    4、测试

    主机上用 navicat 连接成功


    image.png

    5、新建用户并赋予所有权限

    新增用户,并授予所有数据库操作权限,且不论从本地还是外部连接,都具有同样的权限,且密码相同。需执行下面两条授权命令:

    grant all privileges on *.* to 'test'@'%' identified by '666666';
     
    grant all privileges on *.* to 'test'@'127.0.0.1' identified by '666666';
    

    成功后查看 user

    image.png

    相关文章

      网友评论

          本文标题:1、CentOS 安装 mysql

          本文链接:https://www.haomeiwen.com/subject/lmxqdqtx.html