linux下安装mysql

linux下安装mysql

1、下载准备需要安装的mysql安装包

官网下载地址:https://downloads.mysql.com/archives/community/

mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

2、下载完毕后上传到linux服务器

3、解压

cd 到安装包所在路径,例如:cd /usr/local/share/soft/

tar -xzvf  mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

将其解压到指定路径,并且通过mv命令修改名字为 mysql

mv 解压出来的文件名 mysql

4、创建用户和组

[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql mysql

5、将安装目录所有者及所属组改为mysql

[root@localhost ~]# chown -R mysql.mysql /usr/local/share/soft/mysql

6、创建data文件夹,用于存放数据库表之类的数据

[root@localhost mysql]# mkdir data #进入mysql文件夹

7、初始化

安装依赖包

[root@localhost mysql]# yum install libaio

进行初始化

[root@localhost mysql]# /usr/local/share/soft/mysql/bin/mysqld --user=mysql --basedir=/usr/local/share/soft/mysql --datadir=/usr/local/share/soft/mysql/data --initialize

8、编辑配置文件

  • 从5.7.18开始不在二进制包中提供my-default.cnf文件(官网)。参考:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
  • 经过测试,在5.7.18版本中,使用tar.gz安装时,也就是压缩包解压出来安装这种,已经不再需要my.cnf文件也能正常运行。
  • my.cnf文件就是把在命令行上启动MySQL时后面的参数用cnf文件配置好,那么下载启动时就不再需要在命令上加如参数。
  • 所以:安装mysql5.7.18之后的版本就不需要再路径/etc下面配置my.cnf文件也可以了,但是如果需要开启MySQL的慢查询或者时主从复制的功能还是需要在/etc下面配置my.cnf文件的,但是只需要复制跟自己使用功能相关的配置即可没必要全部复制
    参考文档:(具体可参考网络文档

本文my.cnf的配置如下:

vi /etc/my.cnf

在配置文件中写入以下内容:

[mysqld]
datadir=/usr/local/share/soft/mysql/data
basedir=/usr/local/share/soft/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证
skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

9、将mysql加入到服务中

[root@localhost mysql]# cp /usr/local/share/soft/mysql/support-files/mysql.server /etc/init.d/mysql

10、设置开机启动

[root@localhost mysql]# chkconfig mysql on

11、启动mysql服务

[root@localhost mysql]# service mysql start

重启:

[root@localhost mysql]# service mysql restart

停止:

[root@localhost mysql]# service mysql stop

12、登录mysql

在配置文件/etc/my.cnf中跳过密码登陆,所以可以免密登录

[root@localhost mysql]# /usr/local/share/soft/mysql/bin/mysql -uroot -p

可以加到环境变量
编辑配置文件

[root@localhost mysql]# vim /etc/profile

图片来源网络(本人实际未进行此项配置)
在这里插入图片描述
输出

[root@localhost mysql]# source /etc/profile

这是可以使用

[root@localhost mysql]# mysql -u root -p

13、设置修改mysql密码

上面我们在配置文件中写了skip-grant-tables 是跳过密码验证不用登录的,我们可以通过如下操作设置密码.

  • 进入MySql控制台(直接按回车,这时不需要输入root密码。)
/usr/local/share/soft/mysql/bin/mysql -uroot -p

在这里插入图片描述

  • 切换到mysql数据库
mysql>use mysql;
  • 修改mysql数据库中root的密码
mysql> ALTER USER 'root'@'%'IDENTIFIED BY 'Aw5332302@';
  • 刷新mysql权限
mysql>flush privileges;

如果执行修改密码时报错:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables
这个时候只需要刷新一下权限即可:

mysql>flush privileges;

然后按照上面修改密码的方式,再次尝试进行修改密码,即可修改成功。

  • 退出
mysql>exit;

在这里插入图片描述

  • 再次vi /etc/my.cnf。把skip-grant-tables删除掉。保存退出。完成MySql Root密码修改

版本不同修改密码的语句可能不同,如果有一下错误可进行其他方式修改密码:
报错信息:
ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’
原因:
是从mysql 5.7开始,password字段被替换为了authentication_string
修改:
update user set authentication_string=password(‘填入新密码”’) where user=‘root’;

ALTER USER ‘root’@'localhost’IDENTIFIED BY ‘Zw55350002@’;

14、配置mysql数据库远程访问

  • 切换数据库
mysql> use mysql;
  • 查询信息
mysql> select user,host from user;

在这里插入图片描述

  • 更改信息
mysql> update user set host='%' where user = 'root';
  • 刷新权限,查看修改结果
mysql>flush privileges;
  • 退出
mysql>exit;

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值