1、CentOS 安装 mysql

一、VM CentOS 注意事项

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

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


    1、CentOS 安装 mysql_第1张图片
    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*

1、CentOS 安装 mysql_第2张图片
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查看该源可安装的包
    1、CentOS 安装 mysql_第3张图片
    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
    1、CentOS 安装 mysql_第4张图片
    image.png

    保存后查看:
    image.png

4、安装 mysql

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

1、CentOS 安装 mysql_第5张图片
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回车后输入看到的密码
    1、CentOS 安装 mysql_第6张图片
    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_%';
    1、CentOS 安装 mysql_第7张图片
    image.png

    show variables like 'character_set_%';
    1、CentOS 安装 mysql_第8张图片
    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后,再查看生效字符集:


1、CentOS 安装 mysql_第9张图片
image.png

2、配置开机自动启动

chkconfig mysqld on

3、远程连接

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


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

    1、CentOS 安装 mysql_第11张图片
    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 查看防火墙

    1、CentOS 安装 mysql_第12张图片
    image.png

    或如下命令:
    1、CentOS 安装 mysql_第13张图片
    image.png

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

    1、CentOS 安装 mysql_第14张图片
    image.png


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

4、测试

主机上用 navicat 连接成功


1、CentOS 安装 mysql_第15张图片
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)