CentOS7默认数据库是mariadb,使用mysql需要先下载
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.重置mysql密码
$ 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
重启mysql服务
$ service mysqld restart
接下来登录重置密码:
$ mysql -u root //直接回车进入mysql控制台
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;
如果还没有修改成功可以刷新一下FLUSH PRIVILEGES或者重新启动service mysqld restart
5.如果外网访问不到
登录到数据库mysql -u root -p
使用数据库use mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION
第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可.
允许任何主机访问数据的权限
FLUSH PRIVILEGES
修改生效
如果外网还是访问不到可能的原因还有3306端口没有开放
6.开启3306端口及常用的其它端口
查看是否有这个文件/etc/sysconfig/iptables,如果没有
iptables -P OUTPUT ACCEPT
service iptables save 进行保存,默认就保存到了/etc/sysconfig目录下的iptables文件中
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306数据库端口通过防火墙
service iptables save
cat /etc/sysconfig/iptables有3306这条信息
service iptables restart就ok咯
可以直接把开放端口的命令写到配置文件中,开机时直接读取执行
以上基本就是我从网上安装mysql的步骤了,因为搜索的东西基本没有一次性成功的,所以自己整理了一下.