linux(centos/ubuntu等)下安装mysql8

394 阅读1分钟

1: 切换到/user/local文件夹下:

cd /usr/local

2: 下载mysql:

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

3: 解压mysql:

tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

rm -rf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

4: 重命名文件夹:

mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql

5: 创建用户组以及用户和密码

groupadd mysql
useradd -g mysql mysql

6: 授权用户:

chown -R mysql.mysql /usr/local/mysql

7: 创建data文件夹 存储文件

mkdir /usr/local/mysql/data 

8: 切换到bin目录下:

cd mysql/bin

9: 初始化基础信息(并获得密码):

    ./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

如果报错提示:
    ./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
安装libaio:
    yum install -y libaio
再次执行初始化

10: 编辑my.cnf文件:

vim /etc/my.cnf 

[mysqld]
basedir=/usr/local/mysql/
  
datadir=/usr/local/mysql/data/
  
character-set-server=UTF8MB4

11: 启动mysql(mysql的启动方式有4种: mysqld 、mysql_safe 、mysql_multi、service mysql start)

以下命令选其一就行
1.mysqld启动命令: 
    /usr/local/mysqld --defaults-file=/etc/my.cnf --user=mysql &
2. mysqld_safe启动:相当于多了一个守护进程,mysqld挂了会自动把mysqld进程拉起来
    /usr/local/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &

12: 查看启动状态

service mysql status

13: 将mysql命令添加到服务

ln -s /usr/local/mysql/bin/mysql /usr/bin

14: 登录mysql

mysql -uroot -p 密码使用之前随机生成的密码

15: 修改root密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; 其中123456是新的密码自己设置

26: 使密码生效

 flush privileges;  

17: 选择mysql数据库

use mysql;

18: 修改远程连接并生效

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

flush privileges;

19: 安全组开放3306端口

自定义 TCP目的: 3306/3306源: 0.0.0.0/0mysql