重要的事说三遍:放弃rpm安装!放弃rpm安装!放弃rpm安装!
先讲一下正确的安装之路,坚持yum!
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
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3. 安装mysql
$ sudo yum install mysql-server
根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。
4. 启动服务
service mysqld start
5.重置密码
重置密码前,首先要登录
$ 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 openscanner:openscanner /var/lib/mysql
然后,重启服务:
$ service mysqld restart
正常情况下直接重置密码:
$ mysql -u root
mysql > use mysql;
mysql > update user set password=password(‘123456‘) where user=‘root‘;
mysql > exit;
刷新权限即可
mysql > flush privileges;
6.配置简易安全策略(此处采用IP控制,为防止mysql爆破,直接更换开放端口也可以)
mysql > use mysql;
mysql > select Host,User from user;
更新/授权用户表(在实际测试的时候, .* 有时不能做到映射,但是 .% 可以)
//更新用户表 mysql> UPDATE `user` SET `Host` = '113.128.*.*' where `Host` = '113.128.*.*';
//授权用户表 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'113.129.*.*' IDENTIFIED BY 'password' WITH GRANT OPTION;
113.129..是允许远程访问的IP的值,root是账户名,后面的password是密码。
即,允许来自113.129..的连接并使用root账户和password这个密码进行访问。
ALL PRIVILEGES ON 后面的.表示所有数据库,即完全访问权限,可以指定为特定数据库。
如果允许所有ip访问,则ip可以用%代替。
修改完不要忘了刷新权限 mysql > flush privileges;
注意此处的IP为公网IP,在cmd使用ipconfig查看的依然是内网IP,简易的查看公网IP的方式是直接百度搜ip查询即可看到
最后请让我吐槽一下rpm方式安装mysql坑爹之路
首先在官网下载安装包后,需要按依赖顺序进行安装rpm文件
顺序如下:
rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.11-1.el7.x86_64.rpm
安装过程中出现需要其他依赖包的情况,然后挨个寻找下载安装(eg: yum install libaio)
出现:pkgconfig(openssl) is needed by mysql-community-devel-8.0.11-1.el7.x86_64
的时候需要在安装命令 rpm -ivh mysql-community-devel-8.0.11-1.el7.x86_64.rpm 后加 --force --nodeps
But 当安装完所有之后,依然出现(中间也走了很多弯路,此处略过)
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
又尝试了修改一堆文件,最后还是放弃了,果断yum,5分钟不到就安装完走完了流程!!!!!!!