今天装了一遍MySQL,遇到一些问题,希望能帮助大家避坑。
环境:
1.linux (red hat 7.0)
2.虚拟机VMware Workstation Pro
注意:
如果哪段指令执行报错,可以直接复制指令网上查询错误解决方法
开始
1、 下载mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2、 安装mysql-community-release-el7-5.noarch.rpm包
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
3、安装mysql
sudo yum install mysql-server
完成!
4、重置密码 (不用密码,直接就可以进去了)
mysql -u root
登录时有可能报这样的错,不要慌!!!
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
sudo chown -R root:root /var/lib/mysql
重启服务:
service mysqld restart
接下来就可以重置密码了
mysql -u root
mysql > update mysql.user set password=PASSWORD('root')where User='root';
mysql > exit;
- 需要更改权限才能实现远程连接MYSQL数据库
mysql -uroot -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.0.20a-debug
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> use mysql; (此DB存放MySQL的各种配置信息)
Database changed
mysql> select host,user from user; (查看用户的权限情况)
mysql> select host, user, password from user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| 127.0.0.1 | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| localhost | | |
+-----------+------+-------------------------------------------+
4 rows in set (0.01 sec)
由此可以看出,只能以localhost的主机方式访问。
解决方法:
mysql> Grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
mysql> flush privileges; #运行此句才生效
(%表示是所有的外部机器,如果指定某一台机,就将%改为相应的机器名;‘root’则是指要使用的用户名,)
看到Query OK, 0 rows affected (0.03 sec)证明设置成功
最后重启:
退出mysql!
mysql>exit
6、这时候还差最后一步
防火墙端口未开放
然后在虚拟机中查看网络端口信息:
netstat -ntpl
开放防火墙端口
添加需要监听的端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
重启mysql服务
service mysqld restart
7、用navicat for mysql连接
我的虚拟机IP是172.18.1.129
用户名:root , 密码:123456
点连接测试