Linux服务器安装mysql5.6

Linux服务器安装mysql5.6

在Linux服务器安装mysql步骤 官网

查看mysql各版本库

Linux服务器安装mysql5.6_第1张图片

准备工作

  • 服务器常运行
  • ssh连接上

1. 下载官方的rpm包

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2. 安装rpm包

rpm -ivh mysql-community-release-el7-5.noarch.rpm

3. 安装mysql

//会自动安装一堆依赖
yum -y install mysql-server 

//然后检查是否安装成功
rpm -qa|grep mysql

//然后启动mysql
service mysqld start

4. 重置密码

//安装完之后登录
mysql -u root
  • 会报错如下: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
//将创建者修改为当前用户即可解决
cd /var/lib
chown -R root mysql

//修改完之后重启mysql服务,不然还是会报错无法登入
service mysqld restart

//再次登入mysql重置密码
mysql -u root -p
>直接回车进入 
mysql > use mysql;
mysql > update user set password=password('root') where user='root';
mysql > flush privileges;
mysql > exit;

//再次重启mysql
service mysqld restart

5. 关闭防火墙

//firewall-cmd --state(关闭)就好了
//关闭防火墙适用于tomcat,nginx等
vim /etc/sysconfig/iptables

#增加3306端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

//重启防火墙
service iptables restart 

//查看状态
service iptables status

6. 设置外网访问权限

mysql -u root -p
> 输入密码(root)

//查询用户
mysql > select user,host from mysql.user; 

//(根据需要可跳过此步骤)创建子账号abc密码123456的用户
mysql > create user abc@localhost identified by '123456';  

//创建db名为mytcya
mysql > CREATE DATABASE IF NOT EXISTS mytcya DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

//查询是否创建db成功
mysql > show databases;

//允许用户root使用密码root远程访问名为mytcya的db
mysql > grant all privileges on mytcya.* to root@localhost identified by 'root' WITH GRANT OPTION;

//如果远程连接会报错, 再次进入mysql
//java.sql.SQLException: null, message from server: "Host 'xxx.xxx.xxx.xxx' is not allowed //to connect

//切换到mysql
mysql > use mysql
mysql > show tables;
//会显示一堆表

//查询user列表
mysql > select host,user,password from user;
//删除空密码
mysql > delete from user where USER='';  

//将任何host添加可访问
mysql > update user set host ='%' where user ='root';
//如果出现错误提示: ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 
//直接忽略他

//刷新退出
mysql > flush privileges;
mysql > quit;

//再次重启mysql
service mysqld restart
  • 重要: 修改配置文件不然数据库8小时无访问会锁定无法连接
//修改MySQL的参数,wait_timeout最大为31536000即1年,在/etc/my.cnf中加入:

[mysqld]
wait_timeout=31536000
interactive_timeout=31536000
重启生效,需要同时修改这两个参数。

//再次重启mysql
service mysqld restart

7. 使用连接软件测试

jdbc:mysql://你的服务器IP:3306/root?characterEncoding=utf-8&serverTimezone=UTC

Linux服务器安装mysql5.6_第2张图片

  • 显示成功!

一些mysql出错解决办法

ERROR 2002 (HY000): Can,t connect to local MySQL server through socket 
/tmp/mysql.sock

解决办法修改/etc/my.cnf , 并且给/usr/local/mysql/data权限

//------修改内容增加[client]------start------

[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/var/lib/mysql/mysql.sock(跟这个socket路径一样)
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
port=3306
socket=/var/lib/mysql/mysql.sock
//------修改内容增加[client]-------end---------


//kill -9 命令无法杀死 mysql 进程,因为 mysqld_safe 会自动重启 正确关闭命令如下:
/usr/local/mysql/bin/mysqladmin shutdown

//检查 mysql 服务状态
/usr/share/mysql/mysqladmin status


//(可选)查看Mysql 运行状态 
service mysqld status 

//(重要)解决不了的问题, 就去查看错误日志, 再百度搜索相关错误信息
cat /var/log/mysqld.log

//报错Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
rm -rf /var/lib/mysql/mysql.sock
ln -s /var/lib/mysql/mysql.sock

//查看端口占用
netstat -tnlp | grep :8080

//删除sql  不检查依赖
rpm -e --nodeps

//查看mysql的安装情况
rpm -qa|grep -i mysql

//手动删除mysql配置文件
rm -rf /etc/my.cnf

//删除遗留的mysql文件和依赖库
find / -name mysql
rm -rf /var/lib/mysql

//检查一遍mysql 是否成功删除
rpm -qa|grep -i mysql

你可能感兴趣的:(数据库)