Linux离线安装Mysql

一、查看当前MySQL的安装情况

1. 查看当前MySQL的安装情况,查找之前是否安装了MySQL

rpm -qa|grep -i mysql

2. 停止MySQL,删除之前安装的MySQL

rpm -ev bt-mysql56-5.6.47-1.el7.x86_64

3. 查找之前MySQL的目录,删除老版本的目录

find / -name mysql

Linux离线安装Mysql_第1张图片
删除MySQL对应的目录:
Linux离线安装Mysql_第2张图片
注意:卸载后配置文件 /etc/my.cnf 不会删除,需要手动删除

 rm -f /etc/my.cnf

4. 再次查看是否安装MySQL,确保MySQL完全卸载

rpm -qa|grep -i mysql

没有结果显示,说明MySQL已经被完全卸载干净,接下来就可以重新安装自己想要的MySQL版本了。

二、安装Mysql

1. 检查mysql用户组和用户是否存在,如果没有,则创建

cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql
useradd -r -g mysql mysql

2.下载Mysql包

# 下载命令
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

3. 解压

tar -xzvf mysql-8.0.28-el7-x86_64.tar.gz

解压完成后,可以看到当前目录下多了一个解压文件,移动该文件到/usr/local/下,并将文件夹名称修改为mysql。

如果/usr/local/下已经存在mysql,请将已存在mysql文件修改为其他名称,否则后续步骤可能无法正确进行。
Linux离线安装Mysql_第3张图片

4. 在/usr/local/mysql目录下创建data目录

[root@localhost /]# mkdir /usr/local/mysql/data

5. 更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限

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

在这里插入图片描述如果报以上错误,说明mysql用户不存在,执行以下命令,操作完再执行更改权限命令

groupadd mysql
useradd -r -g mysql mysql

6. 编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)


注意:
此处若报错,表示该链接库文件有没有安装使用

[root@ecs-xiaochengxu bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

执行如下命令安装:

# 1.首先检查该链接库文件有没有安装使用,运行该命令后发现系统中无该链接库文件
rpm -qa|grep libaio
# 2. 安装
yum install  libaio-devel.x86_64

成功后如下:

7. 编辑配置文件my.cnf,添加配置如下

vim /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8

参数注释:

lower_case_table_names:
	是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;不能动态设置,修改后,必须重启才能生效:
character_set_server:
	设置数据库默认字符集,如果不设置默认为latin1
innodb_file_per_table:
	是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别;
 
show variables like '%character%';

解决中文乱码问题:
#echo 修改my.cnf文件   
#sudo vi /etc/my.cnf  

#在[mysqld]下加入代码:
      character_set_server=utf8
#在[ mysql ]下加入代码:
      default-character-set=utf8

8. 启动mysql服务器

/usr/local/mysql/support-files/mysql.server start

显示如下结果,说明数据库安装成功
在这里插入图片描述

9. 添加软连接,并重启mysql服务

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart

在这里插入图片描述

10. 登录mysql,修改密码(密码为步骤6生成的临时密码)

mysql -u root -p
# 使用以下命令修改密码
set password for root@localhost = password('123456');
# 报错使用下面命令修改
# 从8.0开始修改密码有了变化,在user表加了字段authentication_string,修改密码前先检查authentication_string是否为空

# 1.如果不为空

use mysql;
update user set authentication_string='' where user='root';--将字段置为空
ALTER user 'root'@'localhost' IDENTIFIED BY 'root';--修改密码为root

# 2.如果为空,直接修改
ALTER user 'root'@'localhost' IDENTIFIED BY 'root';--修改密码为root

在这里插入图片描述

11. 开放远程连接

mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;

Linux离线安装Mysql_第4张图片
执行完上边命令后,通过数据库客户端就可以连上云数据库

你可能感兴趣的:(Mysql,数据库,mysql)