一、VM CentOS 注意事项
1、 NAT 模式下,主机可以ping通虚拟机,虚拟机ping不通主机
- 关闭主机的防火墙,发现虚拟机可以ping通主机
-
进入防火墙高级设置-入站规则,找到项【文件和打印机共享(回显请求 – ICMPv4-In)】规则,设置为 允许 即可:
image.png
2、查看centos版本
输入命令 rpm -q centos-release
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*
说明:
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.rpm
或rpm -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
等待安装完成
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改为%,表示允许所有机器访问。
image.png
执行命令:
use mysql;
update user set host = '%' where user = 'root';
-
telnet 3306 端口报错
image.png
说明防火墙未开放 3306 端口
-
查看端口号监听状态
image.png
netstat -ntpl |grep 22
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地址都能够访问该服务。 -
image.pngiptables --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
或者直接关闭防火墙
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
表
网友评论