首页 > 数据库 >linux安装mysql

linux安装mysql

时间:2022-09-19 00:12:59浏览次数:93  
标签:bin 8.0 安装 mysql data usr linux local

原文链接:https://blog.csdn.net/m0_54849806/article/details/126113296

在Linux系统安装MySQL8.0,网上已经有很多的教程了,到自己安装的时候却发现各种各样的问题,现在把安装过程和遇到的问题都记录下来。

需要说明的一点是我使用的是SSH secure shell Client连接linux系统的,它的用法和命令窗口差不多。界面如图:一样的使用Linux命令操作。

话不多说
第一步:
1)、切换到 /use/local下

cd /use/loca
1
2)、创建mysql文件夹

mkdir mysql
1
3)、切换到mysql文件夹下

cd mysql
1
4)、下载mysql8.0安装包

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
1
如果执行没反应,可以复制安装包链接在Windows的浏览器下载好,再用SSH移到 /use/local/mysql文件夹下面(这个时候就提现出了SSH的便利性)

5)、解压mysql8.0安装包

切换到 /use/local/mysql文件夹下面,执行命令
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
1
2
6)、重命名解压出来的文件夹,这里改成mysql-8.0

mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0
1
7)、/use/local/mysql文件夹下创建data文件夹 存储文件

mkdir data
1
8)、
分别创建用户组以及用户和密码(如果提示已存在说明之前有创建过了)

groupadd mysql


useradd -g mysql mysql
1
2
3
4
9)、授权刚刚新建的用户

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


chmod 750 /usr/local/mysql/data -R
1
2
3
4
10)、配置环境,编辑/etc/profile文件
vim /etc/profile

在最后一行加
export PATH=$PATH:/usr/local/mysql/mysql-8.0/bin:/usr/local/mysql/mysql-8.0/lib

注意:

解决bash: mysql: command not found 的方法

https://www.jb51.net/article/34622.htm

linux下,在mysql正常运行的情况下,输入mysql提示:
mysql command not found

遇上-bash: mysql: command not found的情况别着急,这个是因为/usr/local/bin目录下缺失mysql导致,只需要一下方法建立软链接,即可以解决:
把mysql安装目录,比如MYSQLPATH/bin/mysql,映射到/usr/local/bin目录下:
# cd /usr/local/bin
# ln -fs /MYSQLPATH/bin/mysql mysql

还有其它常用命令mysqladmin、mysqldump等不可用时候都可按用此方法解决。
注:其中MYSQLPATH是mysql的实际安装路径(例如:/usr/local/mysql/mysql-8.0/bin)

(新手提示:添加完之后,换行,打出“:sq”,用来保存文件并退出)
11)、编辑my.cnf文件

vi /etc/my.cnf
1
按下面复制进去就好了,#号开头的不用管,一样,添加完之后,换行,打出“:sq”,用来保存文件并退出

[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/mysql-8.0
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
# 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

#
# include all files from the config directory
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
12)、切换到/usr/local/mysql/mysql-8.0/bin目录下

cd bin
1
13)、初始化基础信息,得到数据库的初始密码(在/usr/local/mysql/mysql-8.0/bin目录下执行)

./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/data/ --initialize
1
如图,复制出红框的初始密码,保存到本地,后面需要使用到。
ISSUE:如果因为路径等各种问题需要重新初始化的,需要清空上面创建的data文件,在data所在的目录下使用 rm -rf data 命令。

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

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


cp -a ./support-files/mysql.server /etc/init.d/mysqld
1
2
3
4
15)、赋予权限

chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld
1
2
3
16)、检查一下/var/lib/mysql是否存在,否则进行创建

mkdir /var/lib/mysql
1
然后再赋予权限

chown -R mysql:mysql /var/lib/mysql/
1
17)、启动数据库,有SUCCESS字眼说明MySQL安装完成

service mysql start
1
ps:
如果发现启动失败,可以先查看data里面的mysql.log,如果有提示3306这样的字样,第一个想到的应该是端口被占用,
使用lsof -i:端口号,查看是哪个PID(进程号)占用了该端口,然后使用kill PID(进程号)杀掉进程,重新执行service mysql start

第二步:修改密码,并设置远程连接(为了可以在别的机器下面连接该mysql)

1)、修改数据库root账号的密码,并设置可以远程访问(因为root默认是不能远程访问的)

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
1
2)、执行flush privileges; 使密码生效

flush privileges;
1
3)、选择数据库

use mysql;
1
4)再修改远程连接并生效

update user set host='%' where user='root';
1
5)执行提交命令,搞定!

flush privileges;
1
最后就可以使用root账号去登录mysql了。如果有遇到问题的小伙伴评论留言,文中如有遗漏错误,欢迎指正。

题外:
给mysql创建新的数据库用户并授予权限

1)创建用户(名称随意,这里的用户名称为mysql)并可以远程访问
CREATE user 'mysql'@'%';
#修改密码
alter user 'mysql'@'%' identified with mysql_native_password by 'tcl.2021';

2)创建新的数据库
#create database 数据库名 default character set utf8mb4 collate utf8mb4_unicode_ci;


3)把新的数据库授权给新用户
#将test库的所有权限赋予mysql用户
grant all privileges on test.* to "mysql"@"%";
grant all privileges on test.* to "tcl"@"%";

4)、刷新权限
flush privileges;
————————————————
版权声明:本文为CSDN博主「普通网友」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_54849806/article/details/126113296

标签:bin,8.0,安装,mysql,data,usr,linux,local
From: https://www.cnblogs.com/cxxtreasure/p/16706324.html

相关文章

  • MySQL 优化篇(二)
    分析查询语句:EXPLAIN定位了查询慢的SQL之后,我们就可以使用EXPLAIN或DESCRIBE工具做针对性的分析查询语句。DESCRIBE语句的使用方法与EXPLAIN语句是一样的,并且分析结果也......
  • 脚本编译安装httpd
    脚本编译安装httpd没有演技全是精髓#/bin/bash#列出httpd版本号echo'有以下可以选择的版本号:1.2.4.542.2.4.53'#设置执行权限if[$UID-ne0];then echo"请......
  • linux创建本地svn仓库
    记录代码迭代,创建本地svn仓库:#mkdir/home/svn#cd/home/svn#svnadmincreatemwork   //创建仓库mwork#cdmwork#vimconf/passwd         //......
  • Mysql 安全加固经验总结
    本文为博主原创,转载请注明出处:目录1.内网部署Mysql2.使用独立用户运行msyql3.为不同业务创建不同的用户,并设置不同的密钥4.指定mysql可访问用户ip......
  • Sqlyog旗舰版的安装与注册
    安装地址:https://www.win10com.com/softxiazai/22080.html安装完了以后,连接Mysql可能SQLyog报错2058 解决方法:windows下cmd登录mysql-uroot-p登录你的mysql......
  • MySQL:互联网公司常用分库分表方案汇总!
    一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至......
  • MySQL列转行、行转列
    1795.每个产品在不同商店的价格列转行SELECTproduct_id,'store1'store,store1priceFROMproductsWHEREstore1ISNOTNULLUNIONSELECTproduct_id,'store2......
  • 配置MySQL的tab补全方法
    方法一####安装相关依赖软件(需要配置yum官方或者阿里源进行安装)```1yum-yinstallepel-release2yum-yinstallzlib-develbzip2-developenssl-develncurses......
  • HK32F030MF4P6的Linux GCC工具链和VSCode开发环境
    HK32F030MF4P6简介航顺的HK32F030MF4P6,TSSOP20封装,ArmCortexM0内核,内建32MHz时钟,16KFlash,2KRAM(实际上可用的有4K).这个型号的目的应该是硬件替换STM......
  • MySQL基础架构:SQL查询语句执行过程
    MySQL是一种关系型数据库管理系统,采用的是分层结构,本文中将简单介绍MySQL数据库的内部架构。目录客户端层服务器层连接器查询缓存分析器优化器执行器存储层MySQL是一个C/......