在Ubuntu16.04 Linux 64位环境下安装二进制版本MySQL 8.0.13

环境

1、系统版本:Ubuntu16.04 Linux 64位

2、数据库版本:二进制版本MySQL 8.0.13,下载地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-i686.tar.xz


1、进入https://dev.mysql.com/downloads/mysql/,左菜单选择MySQL Community Server 然后右边选择Select Operating System:Linux Generic,因为我们是64位系统,所以选择第二个(查看当前版本是32位还是64位命令:uname -m 如果显示i686,你安装了32位操作系统,如果显示 x86_64,你安装了64位操作系统)

2、手动下载,然后通过xftp上传到 /usr/local目录

3、开始准备安装工作

a、MySQL依赖于libaio库。如果此库不在本地安装,则数据目录初始化和随后的服务器启动步骤将失败。如果需要,请使用适当的包管理器安装它。例如,基于云计算的系统:

hell> apt-cache search libaio # search for info 

shell> apt-get install libaio1 # install library  

b、 创建一个mysql用户和组:

shell> groupadd mysql 

shell> useradd -r -g mysql -s /bin/false mysql  

c、 获取并解压分发包:

shell> cd /usr/local

shell> tar xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz

d、 创建一个到tar创建的安装目录的符号链接:

shell> ln -s mysql-8.0.13-linux-glibc2.12-x86_64 mysql

e、 为了避免在使用MySQL时必须键入客户程序的路径名,可以将/usr/local/mysql/bin目录添加到路径变量:

shell> export PATH=$PATH:/usr/local/mysql/bin

f、 创建一个目录,其位置可以提供给secure_file_priv系统变量, 将目录的所有权授予mysql用户,将组的所有权授予mysql组,并为目录设置正确的权限 :

shell> mkdir mysql-files

shell> chown mysql:mysql mysql-files

shell> chmod 750 mysql-files

g、 初始化数据目录,包括mysql数据库,其中包含确定用户如何被允许连接到服务器的初始mysql grant表,执行成功会有输出(A temporary password is generated for root@localhost: z+sSBqkDt1uq,后面是密码第一次登陆有用):

shell> bin/mysqld --initialize --user=mysql

数据目录的初始化可能会失败,因为系统中缺少一些必需的软件库。例如:

shell> bin/mysqld --initialize --user=mysql

 bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory  那就需要先执行:

shell> bin/mysql_ssl_rsa_setup 

下一个命令是可选的 :

shell> cp support-files/mysql.server /etc/init.d/mysql.server 


4、启动数据库,并配置远程

a、开启服务&是后台运行的意思,执行命令之后,终端会卡在一个位置,再按一下Enter即可:

bin/mysqld_safe --user=mysql &

b、 使用用户root登录使用刚才随机生成的密码,即可计入数据库:

bin/mysql -uroot -p

c、更改root用户密码第一次使用随机登录并不能使用,因此我们需要更改密码,如下

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; flush privileges;

d、使root能远程登录、分两步必须的:

    1、update user set host='%' where user = 'root'; #更改可以登录的IP为任意IP

    2、 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码'; #再次更改root用户密码,使其可以在任意IP访问

    3、最后再执行刷新语句: flush privileges; #刷新权限

e、如果创建新用户,并允许远程( mysql_native_password是加密方式,很关键,有了它 Navicat 才能连接):

    1、CREATE USER '用户名'@'host名称' IDENTIFIED WITH mysql_native_password BY '密码'; 

    2、 GRANT ALL PRIVILEGES ON *.* TO '用户名'@'host名称';

    3、 FLUSH PRIVILEGES。

你可能感兴趣的:(在Ubuntu16.04 Linux 64位环境下安装二进制版本MySQL 8.0.13)