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=

相关推荐
JhonKI7 分钟前
【Linux网络】构建HTTP响应与请求处理系统 - HttpResponse从理解到实现
linux·网络·http
FJW02081442 分钟前
【Linux】web服务器的部署和优化
linux·运维·服务器·rhce
Linux运维老纪1 小时前
Python文件操作及数据库交互(Python File Manipulation and Database Interaction)
linux·服务器·数据库·python·云计算·运维开发
weixin_430750931 小时前
智能小助手部署 Win10 + ollama的Deepseek + CentOS+ maxKB
linux·人工智能·机器学习·语言模型·自然语言处理·centos
有谁看见我的剑了?1 小时前
docker 运行时权限和 Linux 能力了解
linux·docker·容器
平生不喜凡桃李1 小时前
Linux 进程控制
linux·运维·服务器
hope_wisdom1 小时前
Linux系统编程之内存映射
linux·mmap·内存映射·munmap
瓯雅爱分享1 小时前
任务管理系统,Java+Vue,含源码与文档,科学规划任务节点,全程督办保障项目落地提效
java·mysql·vue·软件工程·源代码管理
偶尔微微一笑1 小时前
sgpt在kali应用
linux·人工智能·python·自然语言处理
余辉zmh1 小时前
【Linux系统篇】:信号的生命周期---从触发到保存与捕捉的底层逻辑
android·java·linux