- 添加mysql yum respository
- 添加 MySQL Yum Repository 到你的系统 repository 列表中,执行
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm (可根据版本调整)
yum localinstall mysql-community-release-el7-5.noarch.rpm
- 验证是否添加成功 yum repolist enabled | grep "mysql.-community." 若出现以下提示表示成功
mysql-connectors-community/x86_64 MySQL Connectors Community 36
mysql-tools-community/x86_64 MySQL Tools Community 47
mysql56-community/x86_64 MySQL 5.6 Community Server 327
- 查看MySQL版本: yum repolist all | grep mysql 其中enable表示可使用
mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 36
mysql-connectors-community-source MySQL Connectors Community - S disabled
mysql-tools-community/x86_64 MySQL Tools Community enabled: 47
mysql-tools-community-source MySQL Tools Community - Source disabled
mysql55-community/x86_64 MySQL 5.5 Community Server disabled
mysql55-community-source MySQL 5.5 Community Server - S disabled
mysql56-community/x86_64 MySQL 5.6 Community Server enabled: 327
mysql56-community-source MySQL 5.6 Community Server - S disabled
mysql57-community-dmr/x86_64 MySQL 5.7 Community Server Dev disabled
mysql57-community-dmr-source MySQL 5.7 Community Server Dev disabled
可以通过以下语句启用某些版本:
yum-config-manager --disable mysql56-community
yum-config-manager --enable mysql57-community-dmr
或通过直接修改:/etc/yum.repos.d/mysql-community.repo 其中 enabled=0 是指禁用,enabled=1 指启用。
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
==注意: 任何时候,只能启用一个版本。==
- 查看当前安装的版本 yum repolist enabled | grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community 14 mysql-tools-community/x86_64 MySQL Tools Community 17 mysql56-community/x86_64 MySQL 5.6 Community Server 139
- 安装MySQL
- 执行命令: yum install mysql-community-server Yum 会自动处理 MySQL 与其他组件的依赖关系 根据提示安装即可
- 查看MySQL安装信息 rpm -qi mysql-community-server.x86_64 0:5.6.24-3.el7
- 查看是否安装并配置完成:whereis mysql
- 启动和结束MySQL服务
- 启动Server: systemctl start mysqld
- 查看MySQL状态: systemctl status mysqld
- 关闭MySQL:systemctl stop mysqld
- 在安装某些版本的MySQL会给root设置一个随机的密码,获取或修改密码:
- 可能在以下会出现某些提示:在/var/log/mysqld.log中提示随机生成一个密码在/root/.mysql_secret 或其他目录,进入对应文件即可查看初始随机密码
- 若为找到上诉文件,则可通过进入安全模式的方式修改root用户密码
- 停止MySQL服务:sudo service mysql stop
- 安全模式下启动MySQL: sudo mysqld_safe --skip-grant-tables --skip-networking &
- 登录MySQL: mysql -u root
- 重设密码:
mysql> use mysql; mysql> update user set password=PASSWORD("password") where User='root'; mysql> flush privileges; mysql> quit
- 登录:mysql -u root -ppassword (p与密码之前没有空格)
- 关闭防火墙或修改防火墙使其可以远程登录
- iptables(CentOS 7.x版本之前用法,不推荐)
打开 iptables 的配置文件:- vi /etc/sysconfig/iptables
- 添加:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT -A RH-Firewall-1-INPUT -m state –state NEW -m udp -p udp –dport 3306 -j ACCEPT
- 重启iptables生效:service iptables restart
- 若没有/etc/sysconfig/iptables 文件则安装程序:yum install iptables-services
- 执行以下命令使3306端口可用
执行:firewall-cmd --reload 使规则生效firewall-cmd --permanent --zone=public --add-port=3306/tcp firewall-cmd --permanent --zone=public --add-port=3306/udp
- 关闭防火墙远程访问依然不可用
- 可能是MySQL初始化时只允许本地可访问
- 修改表使远程登录可用:
mysql> use mysql mysql> update user set host = '%' where user = 'root'; mysql> select host, user from user;
- 授予权限,使某指定主机或所有主机都可访问
mysql -h localhost -u root mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION mysql> FLUSH PRIVILEGES GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; FLUSH PRIVILEGES;
- 若根据以上方法修改后任然不可用,请查看你的service是否真的启动,处于监听状态。查看接口监听状态: netstat -apn | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 7754/mysqld