目前了解在linux下安装mysql有两种方式:1、rpm包安装;2、源码包安装;
目前使用的是rpm包安装:
环境:CentOS7(CentOS-7-x86_64-DVD-1804);mysql 5.6.42
1、下载rpm包
https://dev.mysql.com/downloads/mysql/5.6.html#downloads
2、建立mysql用户和组
#建立组
groupadd mysql
#建立用户
adduser -g mysql mysql
3、将安装包放置某个路径,如现将其放在/home/mysql下,并进行解压
解压:
tar -xvf xxx
4、安装
1。安装前检查是否已经有安装包
#检查mysql
rpm -qa | grep -i mysql
#检查mariadb,据说centos7以上是该包
rpm -qa | grep -i mararia*
#如以上均有,则删除
yum -y remove xxx
要不然centos7以上的在安装时可能会报:
mariadb-libs is obsoleted by MySQL-shared-compat-5.6.42-1.el7.x86_64
2。可能遇到问题
在使用rpm安装的过程可能会出现提示某些依赖包不存在,如提示:
error: Failed dependencies:
/usr/...
perl .....
net-tools ...
则需要安装perl和net-tools:
yum -y install perl
yum -y install net-tools
注意,虽然这样安装了perl和net-tools,但是可能还有个perl的依赖没有装,则使用rpm安装时报错:
error: Failed dependencies:
/usr/...perl....
则需要安装autoconf:
yum -y install autoconf
检查安装情况:
rpm -qa | grep -i mysql
如果在安装过程中没出现其他的报错,则安装MySQL成功。
4、启动前准备、启动、检查、登录
1。将mysql的配置文件拷贝到/etc目录下
cp/usr/share/mysql/my-default.cnf /etc/my.cnf
2。启动mysql:
#初始化(需要)
./usr/bin/mysql_install_db
#启动mysql服务
service mysql start
3。mysql在安装成功后会给root用户一个默认密码,查看记录,在初始登录时使用。
#查看初始化的密码
cat /root/.mysql_secret
4。使用上一步获得的密码登录
#首次登录
mysql -uroot -p初始化密码
更改初始化密码
方式1 (已验证)- 登录到mysql:
mysql > set password=password("新密码")
即可修改成功,并使用。
方式2(未验证):
mysqladmin -u用户名 -p旧密码 password 新密码
5、远程连接mysql
首先ping一下两个终端是否通。ping通的情况:
如果在上述整完后,远程连接mysql,则会报错:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.xx.xx' (10060)
解决:
1。授权远程终端登录
登录mysql后:
GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;
itoffice:用户名; % 表示授权全部终端(ping的通)可连接,也可将其改为具体ip;itoffice:登录密码。
检查可远程连接的用户:
SELECT host,user FROM mysql.user;
#或者
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
此时需要flush一下
mysql > flush privileges;
2。关闭防火墙
查看防火墙状态:
#centos6.x
chkconfig iptables off
#centos7.x
systemctl stop firewalld
关闭防火墙:
#永久
[root@localhost ~]# service iptables stop
上述完之后,即可远程连接。
6、如果还不能远程连接。试着改或加入以下
报:ERROR 2003 (HY000)…
1。mysql的my.cnf文件中修改或添加(不知道位置:find / -name my.cnf)
bind-address = 127.0.0.1 #这里默认监听本地localhost
改为
bind-address = 0.0.0.0 #监听全部地址
2。将3306端口添加到iptables中
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT