博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux系统下安装mysql
阅读量:7037 次
发布时间:2019-06-28

本文共 2428 字,大约阅读时间需要 8 分钟。

一、下载

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

命令:cd /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

【多出目录 mysql-5.7.17-linux-glibc2.5-x86_64】
注意:没有data 目录,my.ini 在support-files 目录

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

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

 

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

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 (mysql是服务名)

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

vi /etc/init.d/mysql
给与2个目录位置
basedir=/usr/local/mysql
datadir=/usr/local/mysql/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=INNODB
character_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 --user=mysql &

【检查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';
select host,user from user; 【多出1条远程登录用户记录】
flush privileges;

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

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

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

systemctl stop firewalld.service

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

 

八、设置开机自动启动

1、添加服务mysql

chkconfig --add mysql 【mysqld -install】
2、设置mysql服务为自动
chkconfig mysql on

3、重启检查
init 6
ps -ef|grep mysql

 

九、设置path

vi /etc/profile
export PATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH

转载于:https://www.cnblogs.com/LarryBlogger/p/6266636.html

你可能感兴趣的文章
java抽象类和接口区别
查看>>
构建Ruby开发环境(Windows+Eclipse+Aptana Plugin)
查看>>
Miao Xian 隐私政策
查看>>
三维实景下的南极科考站是什么样子?
查看>>
Linux利用scp命令来进行文件复制
查看>>
【LabVIEW技巧】你可以不懂OOP,却不能不懂封装
查看>>
《Programming in Lua 3》读书笔记(十五)
查看>>
PHP读取xlsx Excel 文件
查看>>
R语言模型中的加总偏误与内生性:一种数值模拟方法
查看>>
ajax进error的原因
查看>>
[数据结构]浅谈哈希表的冲突避免策略
查看>>
python全栈考试作业 2017-03-30
查看>>
easyshell 安装
查看>>
UITextView 点击添加文字 光标处于最后方
查看>>
kudu 1.8.0(开发版) 源码安装
查看>>
LVS+Keepalived实现MySQL从库读操作负载均衡
查看>>
【转载】说说标准服务器架构(WWW+Image/CSS/JS+File+DB)续测试环境搭建
查看>>
day13-类的重写和类的私有方法
查看>>
cmd 操作命令
查看>>
java.lang.NoSuchMethodError
查看>>