centos和ubuntu安装mysql教程

1,安装包准备

cd /usr/local/

mkdir mysql

cd mysql

将压缩包复制进mysql文件夹下

tar -xvf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz

mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql8

cd /usr/local/mysql

mkdir data

2,创建用户组以及用户密码(如果提示已存在则说明之前已创建过)

groupadd mysql

useradd -g mysql mysql

授权刚刚新建的用户

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

chmod 750 /usr/local/mysql/data -R

3,配置环境,编辑/etc/profile文件

vim /etc/profile

export PATH=$PATH:/usr/local/mysql/mysql8/bin:/usr/local/mysql/mysql8/lib

重新加载环境

source /etc/profile

4,编辑/etc/my.cnf文件(注意centos默认是my.cnf,而ubuntu可以自己新建,初始化时指定配置文件)

mysql

default-character-set=utf8mb4

client

port=3306

socket=/var/lib/mysql/mysql.sock

mysqld

port=3306

server-id=3306

user=mysql

general_log = 1

general_log_file= /var/log/mysql/mysql.log

socket=/var/lib/mysql/mysql.sock

basedir=/usr/local/mysql/mysql8

datadir=/usr/local/mysql/data

log-bin=/usr/local/mysql/data/mysql-bin

innodb_data_home_dir=/usr/local/mysql/data

innodb_log_group_home_dir=/usr/local/mysql/data/

character-set-server=utf8mb4

lower_case_table_names=1

autocommit=1

default_authentication_plugin=mysql_native_password

symbolic-links=0

explicit_defaults_for_timestamp=OFF

Disabling symbolic-links is recommended to prevent assorted security risks

Settings user and group are ignored when systemd is used.

If you need to run mysqld under a different user or group,

customize your systemd unit file for mariadb according to the

instructions in http://fedoraproject.org/wiki/Systemd

mysqld_safe

log-error=/usr/local/mysql/data/mysql.log

pid-file=/usr/local/mysql/data/mysql.pid

5,切换到/usr/local/mysql/mysql8/bin目录下,初始化基础信息,得到数据库的初始密码,在/usr/local/mysql/mysql8/bin目录下执行

cd bin

执行查看mysql版本的命令

mysql --version

如果有报错则执行

sudo apt-get install libtinfo5

执行初始化命令

./mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql/mysql8 --datadir=/usr/local/mysql/data/ --initialize

复制初始密码,保存到本地,后面需要用到6ELf0peXSY!X

6,复制mysql.server文件,在/usr/local/mysql/mysql-8.0目录下执行

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

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

7,赋予权限

chown 777 /etc/my.cnf

chmod +x /etc/init.d/mysql

chmod +x /etc/init.d/mysqld

8,检查一下/var/lib/mysql是否存在,不存在则创建

mkdir /var/lib/mysql

chown -R mysql:mysql /var/lib/mysql/

9,启动数据库,有success则说明安装成功

service mysql start

提示:

如果发现启动失败,可以先查看data里面的mysql.log,如果有提示3306这样的字样,第一个想到的应该是端口被占用,

使用lsof -i:端口号,查看是哪个PID(进程号)占用了该端口,然后使用kill PID(进程号)杀掉进程,重新执行service mysql start

登录mysql:

mysql -u root -p

使用刚才密码登录

10,修改密码,并设置远程连接

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

设置密码不过期

alter user 'root'@'localhost' password expire never;

执行

flush privileges;

开启远程访问

use mysql;

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

flush privileges;

创建新的数据库

CREATE DATABASE apm;

参考链接:

https://blog.csdn.net/qq_19309473/article/details/144164146?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522ce346253aa950d2ef03bc88341a11ac8%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D\&request_id=ce346253aa950d2ef03bc88341a11ac8\&biz_id=0\&utm_medium=distribute.pc_search_result.none-task-blog-2\~all\~first_rank_ecpm_v1\~rank_v31_ecpm-2-144164146-null-null.142\^v101\^pc_search_result_base3\&utm_term=使用压缩包进行mysql8安装教程centos\&spm=1018.2226.3001.4187

https://blog.csdn.net/Helen_1997_1997/article/details/128125256?ops_request_misc=\&request_id=\&biz_id=102\&utm_term=使用压缩包进行mysql8安装教程centos\&utm_medium=distribute.pc_search_result.none-task-blog-2\~all\~sobaiduweb\~default-0-128125256.142\^v101\^pc_search_result_base3\&spm=1018.2226.3001.4187

https://so.csdn.net/so/search?spm=1001.2101.3001.4498\&q=使用压缩包进行mysql8安装教程centos\&t=\&u=\&urw=

相关推荐
共享家95271 小时前
深入剖析Linux常用命令,助力高效操作
linux·运维·服务器
振鹏Dong1 小时前
MySQL 事务底层和高可用原理
数据库·mysql
·云扬·1 小时前
深度剖析 MySQL 与 Redis 缓存一致性:理论、方案与实战
redis·mysql·缓存
跳跳糖炒酸奶2 小时前
第四章、Isaacsim在GUI中构建机器人(1): 添加简单对象
人工智能·python·ubuntu·机器人
Zfox_2 小时前
【C++项目】从零实现RPC框架「四」:业务层实现与项目使用
linux·开发语言·c++·rpc·项目
吃旺旺雪饼的小男孩2 小时前
Ubuntu 22.04 安装和运行 EDK2 超详细教程
linux·运维·ubuntu
IT小馋猫2 小时前
Linux 企业项目服务器组建(附脚本)
linux·服务器·网络
阿政一号2 小时前
Linux进程间通信:【目的】【管道】【匿名管道】【命名管道】【System V 共享内存】
linux·运维·服务器·进程间通信
又过一个秋2 小时前
【sylar-webserver】7 定时器模块
linux·c++