Linux下安装MySQL5.6和8.0.xx

Linux下安装MySQL5.6和8.0.xx

1.下载MySQL

MySQL的官网不容易进去,所以推荐去国内镜像站下载MySQL的安装包

点我下载MySQL

进入网址之后,选择MySQL5.6的版本

注意:选择版本的时候要选linux-glibc2的版本,选错了版本会导致安装命令执行失败的
Linux下安装MySQL5.6和8.0.xx_第1张图片

2.安装MySQL5.6

2.1解压

将安装好的MySQL压缩包放到linux服务器或者你的虚拟机上,并解压到/usr/local/目录下

2.2重命名

到/usr/local/目录下将刚刚解压出来的mysql文件夹名字改为mysql

2.3新建用户

新建一个mysql用户组,并在mysql用户组下新建一个mysql用户

groupadd mysql
useradd -r -g mysql mysql

2.4更改权限

将刚刚重命名的mysql的文件夹的所有者改为mysql组下的mysql用户

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

2.5初始化MySQL

进入到/usr/local/mysql/目录下执行以下命令

./script/mysql_install_db --user=mysql

初始化完成之后,mysql文件夹中会多出一个my.cnf配置文件,这个配置文件可以用来定义mysql的一些相关配置

2.6启动mysql服务

数据库初始化完毕之后,仍然在/usr/local/mysql目录下执行以下命令开启mysql的服务

./support-files/mysql.server start

2.7设置密码

MySQL初始化完成之后,仍然在/usr/local/mysql/这个目录下执行

./bin/mysql -uroot -p

新安装的MySQL是没有密码的,在跳出输入密码的提示之后,直接按回车就可以进入MySQL的cmd页面了

进入到mysql页面之后执行以下命令

use mysql

切换到mysql数据库,之后执行以下命令

update user set password=password('你想设置的密码') where user='root';

执行语句,语句执行完之后,继续执行以下命令(下面这个是刷新权限数据的命令,如果不执行,刚刚修改密码的操作不会成功的)

flush privileges;

权限刷新成功之后,退出MySQL数据库,重新登录就需要输入刚刚设置的密码了

2.8给MySQL开启远程连接

新安装的MySQL是不能远程连接的,需要自己设置一下才可以

进入/usr/local/mysql目录下,执行以下命令登录数据库

./bin/mysql -uroot -p

数据库成功登录之后,执行以下语句,切换到mysql数据库

use mysql

切换到mysql数据库之后,执行以下命令,开启MySQL的远程连接

update user set host='%' where user='root';

语句执行完之后,退出MySQL,在mysql文件夹下执行以下语句,重启MySQL服务即可进行远程连接MySQL操作

./support-files/mysql.server restart 

2.9将mysql的服务添加到linux的service服务中

将mysql服务添加到service服务中的目的是为了使用service mysql start命令快捷启动mysql服务

操作方法:进入/usr/local/mysql/目录,执行以下命令

cp ./support-files/mysql.server  /etc/init.d/mysqld

命令执行完毕,就可以使用service mysql start命令启动mysql服务

3.安装Mysql8.0.xx

3.1 解压压缩包

解压压缩包并创建用户的步骤与5.xx版本步骤相同,请参考步骤2.1~2.4

3.2 初始化数据库

当mysql用户授权完毕之后,进入到/usr/local/mysql(mysql安装目录名必须叫做mysql哦,不然使用默认配置初始化的时候会出错)目录,并执行以下命令对数据库进行初始化。

./bin/mysqld --initialize --user=mysql

注意:
1.如果linux安装mysql8过程中遇到error while loading shared libraries: libtinfo.so.5类似的错误,涉及到/usr/lib64/libtinfo.so.5文件的,可以尝试执行ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5命令解决


2.数据库初始化完成之后,终端窗口中会显示出数据库的初始密码,这个初始密码可以用作步骤3.3的登录密码

3.3开启数据库服务

数据库初始化完毕之后,仍然在/usr/local/mysql目录下执行以下命令开启mysql的服务

./support-files/mysql.server start

3.4登录数据库

仍然在/usr/local/mysql目录下执行以下命令,登录数据库

./bin/mysql -uroot -p

然后输入刚刚步骤3.2获取的初始密码,就可以成功登录数据库

3.5修改初始密码

第一次登录数据库,数据库会要求重新设置数据库密码,否则无法执行任何sql语句。执行以下命令,就可以修改初始密码了

mysql> alter user 'root'@'localhost' identified with mysql_native_password by '你想设置的数据库密码';
mysql> flush privileges;

注意:

  • 1.新版本的mysql使用的密码规则改成了caching_sha2_password,这个规则在使用命令行登录mysql的时候没有任何问题,但是如果使用navicat连接,navicat就会报2059错误码,无法连接远程数据库
  • 2.解决方法:一般是将mysql的密码加密规则改成mysql_native_password,这样navicat就可以照常连接了

3.6远程连接及设置本地mysql服务

远程连接和将mysql服务加入到linux的service服务操作方法与步骤2.8、2.9一样,请参考以上步骤执行

3.7使用配置文件

mysql8使用以上方式启动mysql服务,默认是没有加载配置文件的,需要手动创建mysql配置文件

查看mysql配置文件加载顺序命令mysql --help | grep -i 'my.cnf'

执行vim /etc/my.cnf创建mysql配置文件
以下为配置文件示例

[client]
port=3306
socket=/usr/local/mysql/mysql.sock
default-character-set = utf8

[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port=3306
server-id = 1
socket=/usr/local/mysql/mysql.sock

[mysql]
default-character-set = utf8

注意:如果启动mysql的时候提示错误信息Starting MySQL..... ERROR! The server quit without updating PID file (/usr/local/mysql/data/VM-16-11-centos.pid),可以尝试一下加上[client]和[mysql]两个配置下的default-character-set = utf8配置

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