ContOS7.X 下 安装 MySql
用虚拟机新搞了个CentOS7的环境尝试性的用yum -y install mysql安装mysql发现没有repo源,故在此做记录。
- 1.下载mysql的repo源
-#wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm;、
(如果你安装的是mini版可能也没有wget命令,运行yum -y install wget 安装wegt命令) - 2.安装mysql-community-release-el7-5.noarch.rpm包
-#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
-#yum install mysql-server
根据提示安装就可以了,不过安装完成后没有密码,需要重置密码(一路Y下去) - *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的拥有者改为当前用户:
-#chown -R root:root /var/lib/mysql
- 重启mysql服务
-# service mysqld restart - 接下来登录重置密码:
-# mysql -u root //直接回车进入mysql控制台
- 重启mysql服务
运行上面的命令可能会出错,mysql貌似现在root密码默认不为空了,如果不能进入mysql控制台的话,进行如下操作:
① vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables,如下:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
② 重启MySQL
service mysqld restart
③ 登陆修改root密码
输入命令:
mysql -u root
进入mysql后输入:
USE mysql
update mysql.user set authentication_string=password("123456") where user="root" ;
flush
privileges ;
quit
④
vi /etc/my.cnf
把skip-grant-tables去掉或者注释掉
⑤重启mysql
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;
- 5.几个常用命令
- #启动mysql
service mysqld start
- #关闭mysql
service mysqld stop
- #查看运行状态
service mysqld status
- 6.错误
用数据库工具连接时,报1130错误,是由于没有给远程连接的用户权限问题
- 解决1:更改‘mysql’数据库‘user’表‘host’项,从‘localhost’改成‘%’。
-#mysql -uroot -pxxxxx(youpassword)
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
可能会出现ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’错误
不予理会直接flush privileges;
- 解决2::直接授权
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;
这时候如果你的数据库工具还是连接不上的话,需要检查一下你系统的防火墙了
防火墙相关
-# firewall-cmd –state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
1、直接关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、设置 iptables service
yum -y install iptables-services
如果要修改防火墙配置,如增加防火墙端口3306
vi /etc/sysconfig/iptables
增加规则
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
保存退出后
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
最后重启系统使设置生效即可。