Linux -- MySQL的安装(tar.gz文件安装)

1.下载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

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 mysql start

## 登录
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";
发布了66 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Aeve_imp/article/details/99415932
今日推荐