1 安装 GCC
yum install gcc
yum install tcl
2 安装wget
yum install wget
3 下载mysql源安装包 shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
4 安装mysql源 shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm
5 检查mysql源是否安装成功
shell> yum repolist enabled | grep "mysql.*-community.*"
6 安装MySQL
shell> yum install mysql-community-server
7 启动MySQL服务
shell> systemctl start mysqld
8 从新启动
shell> systemctl restart mysqld
9 查看MySQL的启动状态
shell> systemctl status mysqld
10 开机启动
shell> systemctl enable mysqld shell> systemctl daemon-reload
11 修改root默认密码
mysql安装完成以后,在/var/log/mysqld.log文件中给root生成了一个默认密码。经过下面的方式找到root默认密码,而后登陆mysql进行修改:
shell> grep 'temporary password' /var/log/mysqld.log
shell> mysql -uroot -p
Enter password: 输入默认密码 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
或者
mysql> set password for 'root'@'localhost'=password('MyNewPass4!');
12 添加远程登陆用户
默认只容许root账户在本地登陆,若是要在其它机器上链接mysql,必须修改root容许远程链接,或者添加一个容许远程链接的账户,为了安全起见,我添加一个新的账户:
mysql> grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
mysql> flush privileges;
grant all privileges on *.* to 建立的用户名 @"%" identified by "密码";
flush privileges; * 刷新刚才的内容*
格式:grant 权限 on
数据库教程名.表名 to 用户@登陆主机 identified by "用户密码";
@ 后面是访问
MySQL的客户端ip地址(或是 主机名) % 表明任意的客户端,若是填写 localhost 为本地访问(那此用户就不能远程访问该
mysql数据库了)。
同时也能够为现有的用户设置是否具备远程访问权限。以下:
use mysql;
update db set host = '%' where user = '用户名'; (若是写成 host=localhost 那此用户就不具备远程访问权限)
flush privileges;
注:flush privileges 命令本质上的做用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,但愿在"不重启MySQL服务"的状况下直接生效,那么就须要执行这个命令。一般是在修改ROOT账号的设置后,怕重启后没法再登陆进来,那么直接flush以后就能够看权限设置是否生效。而没必要冒太大风险。
提示:2003 -Can't connect to MySQL server on '10.0.0.18'(10038)
验证 telnet 192.168.237.102 3306 在端口 3306: 链接失败
再到虚拟机上确认 netstat -anp
说明端口不通
14 开通3306端口
下面记录如何使用firewalld开放Linux端口:
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
命令含义:
–zone #做用域
–add-port=3306/tcp #添加端口,格式为:端口/通信协议
–permanent #永久生效,没有此参数重启后失效
重启防火墙?
[root@localhost ~]# firewall-cmd --reload
常见问题处理:
中途一些操做致使mysql.sock文件丢失
mysql.sock是一个临时文件,在mysql启动时会自动生成
能够简单地经过重启
服务器从新建立获得它,前提是你的mysql服务能够正常从新启动
错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是没法给远程链接的用户权限问题
从新受权:
mysql> grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
mysql> flush privileges;