Linux服务器安装MySql数据库

来源:互联网 发布:mac osx 重装系统 编辑:程序博客网 时间:2024/06/01 10:44

一、命令下载安装包:

这里我创建了一目录software用于存放我们待会要下载的mysql包,先去到该目录执行一下命令

1、创建 software

cd /software

2、software 目录下下载安装包

wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar

这里写图片描述

下载完成后,你会在software这个目录下看到多出了红色框的文件

二、建立用户,以及mysql的目录

1、groupadd mysql #建立一个mysql的组
2、useradd -r -g mysql mysql #建立mysql用户,并且把用户放到mysql组
3、passwd mysql #给mysql用户设置一个密码

三、解压mysql

1、把tar包移动到/usr/local 目录下

mv /software/mysql-5.7.17-linux-glibc2.5-x86_64.tar /usr/local

2、解压

cd /usr/local
tar xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

这里写图片描述

tar zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

这里写图片描述

3、改一下目录名字为/usr/local/mysql (linux下mysql的默认安装安装目录)

mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql

这里写图片描述

四、配置相关的启动配置文件

注意:文件my-default.cnf 在support-files 目录

1、复制my-default.cnf 到 /etc/my.cnf (mysqld启动时自动读取)

cp my-default.cnf /etc/my.cnf

2、复制mysql.server 到/etc/init.d/ 目录下【目的想实现mysqld -install这样开机自动执行效果】
【/etc/init.d/ 目录,等效于注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services 记录有那些服务】

cp mysql.server /etc/init.d/mysql 

这里写图片描述

3、修改 /etc/init.d/mysql 参数

vi /etc/init.d/mysql
basedir=/usr/local/mysqldatadir=/usr/local/mysql/bin/data

这里写图片描述

4、给目录/usr/local/mysql 更改拥有者

chown -R mysql:mysql /usr/local/mysql/

这里写图片描述

5、解决一下乱码问题

vi /etc/my.cnf
[mysql]default-character-set=utf8[mysqld]default-storage-engine=INNODBcharacter_set_server=utf8

这里写图片描述

五、初始化 mysql 的数据库

mysql_install_db (老版本的做法)

新版本:

1.初始化

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

生成出一个data目录,代表数据库已经初始化成功并且mysql的root用户生成一个临时密码:5!uipdk>qmg?

这里写图片描述

2.给数据库加密

bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

这里写图片描述

3.启动mysql

bin/mysqld_safe &

这里写图片描述

【检查ps -ef|grep mysql】

六、进入客户端

1.登录

./mysql -uroot -p

如果报错信息为:

这里写图片描述

解决方法:删除了 /tmp/mysql.sock.lock文件

命令:rm -f /tmp/mysql.sock.lock

这里写图片描述

2.修改密码

set password=password('123456');

这里写图片描述

七、远程访问 (即你用Windows系统能访问Linux系统的mysql)

我们先看看数据结构:

这里写图片描述

现在我们的Windows系统是无法访问到虚拟机下的Linux系统的mysql的,因为没有权限

1、授权

grant all privileges on *.* to root@'%' identified by '123456'
  • 备注:grant 权限1,权限2, … 权限n;
  • on 数据库名称.表名称
  • to 用户名@用户地址 identified by ‘连接口令’;
  • 权限1,权限2,… 权限n 代表 select、insert、update、delete、create、drop、index、alter、grant、references、reload、shutdown、process、file 等14个权限。
  • 当权限1,权限2,… 权限n 被 all privileges 或者 all 代替时,表示赋予用户全部权限。
  • 当 数据库名称.表名称 被 * .* 代替时,表示赋予用户操作服务器上所有数据库所有表的权限。
  • 用户地址可以是localhost,也可以是IP地址、机器名和域名。也可以用 ‘%’ 表示从任何地址连接。’连接口令’ 不能为空,否则创建失败
select host,user from user;【多出1条远程登录用户记录】
flush privileges

这里写图片描述

现在用Windows系统访问我Linux系统的mysql,你会发现依然是不能访问,那是因为防火墙没有关

命令:mysql -h(你Linux系统的ip地址)-uroot -p123456

这里写图片描述

2、关闭防火墙或者给防火墙开放端口

systemctl stop firewalld.service

成功访问后的效果图如下:

这里写图片描述

3、开启防火墙配置

服务为centos7,命令执行:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

服务为centos6.x:

vi /etc/sysconfig/iptables #编辑防火墙配置文件

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

八、设置开机自动启动

备注:首先确保/etc/init.d/mysql 存在,若用 service mysql start 能够正常启动,表示服务存在 (注意:如果是rpm形式安装,相应服务会自动在/etc/init.d目录注册的)

1、添加服务mysql

chkconfig --add mysql

2、设置mysql服务为自动

chkconfig mysql on

这里写图片描述

3、重启检查
init 6

ps -ef|grep mysql

九、设置path

vi /etc/profileexport JAVA_HOME=/usr/local/java/jdk1.7.0_79export PATH=.:$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH
原创粉丝点击