MySQL -- tar包方式安装MySQL

方式一

  下载tar.gz包:https://www.mysql.com/downloads/

  1. 选择操作系统和版本
    在这里插入图片描述

  2. 选择下载tar包
    在这里插入图片描述

  3. 将tar包放入服务器,解压,并将解压后的包mv到/usr/local/并改名为mysql

tar zxvf mysql-5.7.27-el7-x86_64.tar.gz 
mv mysql-5.7.27-el7-x86_64 /usr/local/mysql
  1. 将mysql文件夹权限改为mysql用户和mysql组(没有则新增),或者直接全改为root用户root组
 sudo groupadd mysql
 sudo useradd -r -g mysql mysql
 cd /usr/local
 sudo chown -R mysql:mysql mysql
  1. 进入mysql目录,创建data目录,准备安装(5.7版本的安装已经不建议使用mysql_install_db 来安装,而是使用mysqld)
cd /usr/locla/mysql
mkdir data
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  1. 查看临时密码,初始密码在/var/log/mysqld.log这个文件里,输入命令:grep ‘temporary password’ /var/log/mysqld.log,可以直接获取密码。(注:密码为冒号后面的所有字符!)
    在这里插入图片描述

  2. 执行以下命令创建RSA private key

sudo bin/mysql_ssl_rsa_setup  --datadir=/usr/local/mysql/data
  1. 配置my.cnf和开机启动
cd support-files
sudo cp my-default.cnf /etc/my.cnf	(或者直接就在/etc/my.cnf)
sudo cp mysql.server /etc/init.d/mysql
sudo vim /etc/init.d/mysql   ##修改basedir=  自己的路径     修改datadir= 自己的路径
  1. 如果没有/etc/my.cnf,可以参考此文件
[mysqld]
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
character-set-server=utf8 
datadir=/usr/local/mysql/data 
basedir=/usr/local/mysql 
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
  1. 启动mysql服务,用上面临时密码登录
## centos 6
service mysql start
## centos 7
systemctl start mysql

## 登录
mysql -u root -p
  1. 修改密码,开启权限
use mysql;
#5.7版本用这个命令
update user set password=password("123456") where user="root";  
#5.7版本及以上修改密码报错,没有password这个字段,使用下面的命令
update mysql.user set authentication_string=password('123456') where user='root';
#开启远程登录
Grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
#刷新权限
FLUSH PRIVILEGES;
#退出,使用新密码登录
exit;

#命令行下需要创建用户:
create user '[用户名称]'@'%' identified by '[用户密码]';
# %:匹配所有主机,该地方还可以设置成‘localhost’,代表只能本地访问,例如root账户默认为‘localhost‘
# 示例:create user 'mysql'@'localhost' identified by '123456';
  1. 如果登录mysql时报下面的错-bash: mysql: 未找到命令:,这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/home/mysql/soft/mysql5.7/bin/mysql,我们则可以这样执行命令:
    在这里插入图片描述
sudo ln -s /home/mysql/soft/mysql5.7/bin/mysql /usr/bin
  1. 如果登录mysql时报下面的错: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2),这是由于权限问题,/tmp/mysql.sock是默认生成的,但是因为没有权限,所以该文件不存在,要不然就是直接copy一份,要不然就是做个软连接最简单了。
    在这里插入图片描述
sudo ln -s /var/lib/mysql/mysql.sock /tmp
  1. 如果登录mysql后操作任何命令都报下面的错,则按下面方式处理
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> use test;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
...

解决:

alter user user() identified by "123456";

方式二

  如果上述方式因为权限,pid频繁被删除等问题导致安装失败,则可以通过该方式。
  在开始之前应该删除干净之前的安装如/usr/bin/mysql,/etc/my.cnf,/usr/share/mysql,
/var/log/mysql,/var/run/mysql等。

  1. 解压tar包,修改为指定用户,添加环境变量,在解压后的文件夹中创建data目录。
    在这里插入图片描述
  2. 创建/etc/my.cnf文件,可以参考 叶老师的在线cnf 文件生产工具
  3. 初始化
mysqld --initialize --datadir=/services/mysql/data --user=hadoop --basedir=/services/mysql/
  1. 查看临时密码,如果是通过上面的叶老师连接生成的my.cnf,则在mysql/data/error.log
    在这里插入图片描述
  2. 启动
mysqld --defaults-file=/etc/my.cnf &
  1. 通过ps -ef | grep mysql 查看进程是否正常启动,如果未启动,则查看错误日志,如果是通过上面的叶老师连接生成的my.cnf,则在mysql/data/error.log,查看日志内容,如果报my.cnf配置错误,则对应修改即可。之后重新启动即可。
    在这里插入图片描述
  2. 按照上面方式登录,修改密码权限即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值