首页 > 数据库 >linux下安装MySql

linux下安装MySql

时间:2024-02-19 15:49:11浏览次数:37  
标签:password 安装 linux mysqld usr mysql mariadb local MySql

linux下安装MySql 查看原文

  1. 点击下载地址,选择版本8.0.26 系统为linux - Generic,下载安装包mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
  2. 解压安装包
# 如果有mariadb包,需要提前卸载!!!!!!!!

# tar.xz无法直接解压
# 将tar.xz转换为tar
xz -d mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz 
# 解压tar
tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar
# 重命名
mv mysql-8.0.26-linux-glibc2.12-x86_64 mysql
# 在/usr/local/mysql目录下创建data目录
mkdir /usr/local/mysql/data
  1. 更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
  1. 如果报错mysql用户不存在,执行以下命令,操作完再执行更改权限命令
groupadd mysql
useradd -r -g mysql mysql
  1. 编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)
# 执行启动初始化mysql之前,需要创建mysqld_safe配置的日志目录!!!!

cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
# 如下图,得到初始密码 5d&l1<pHnwDD

Alt
6. 编辑配置文件my.cnf

vim /etc/my.cnf
# 编辑内容如下
[mysqld]
datadir=/usr/local/mysql/data
bind-address = 0.0.0.0
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
# innodb_file_per_table:是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别
innodb_file_per_table=1
# lower_case_table_names:是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;不能动态设置,修改后,必须重启才能生效
lower_case_table_names=1
# character_set_server:设置数据库默认字符集,如果不设置默认为latin1
character_set_server=utf8
socket=/usr/local/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 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=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

  1. 解决中文乱码问题
#修改my.cnf文件   
vim /etc/my.cnf  

# 在[mysqld]下加入代码:
character_set_server=utf8
# 在[mysql]下加入代码:
default-character-set=utf8
  1. 启动mysql服务器
/usr/local/mysql/support-files/mysql.server start
  1. 添加软连接,并重启mysql服务
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
# 重新启动mysql服务
service mysql restart
# 查看mysql状态
service mysql status
# 停止mysql   
service mysql stop
# 启动mysql   
service mysql start

Alt
10. 登录mysql,修改密码(密码为步骤5生成的临时密码)

mysql -u root -p # 之后输入密码
# 登录进去之后,进行修改密码
mysql> alter user 'root'@'localhost' identified by 'root';
mysql> set password for root@localhost = '123456';
  1. 开放远程连接
# 以下命令在mysql模式下执行
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
  1. 设置开机自动启动
# 将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# 赋予可执行权限
chmod +x /etc/init.d/mysqld
# 添加服务
chkconfig --add mysqld
# 显示服务列表
chkconfig --list
  1. 打开防火墙
# 查看开放的端口号
firewall-cmd --list-all
# 设置开放的端口号
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-port=3306/tcp --permanent
# 重启防火墙
firewall-cmd --reload

其它问题

忘记了Mysql密码

# 停掉mysql服务  
service mysql stop
# 修改/etc/my.cnf 文件,增加 skip-grant-tables ,作用是登陆是跳开密码校验
# 然后再次登录mysql
# 根据版本执行不同的修改密码命令
# 重启mysql服务
service mysql restart

不同版本下修改密码

5.6版本

update mysql.user set password=password('123456') where User="root" and Host = "localhost";
set password for root@localhost = password('123456');

5.7 以上版本

# password 字段被设置为了authentication_string,因此更新命令为
update mysql.user set authentication_string=password('123456') where User="root" and Host="localhost";

8.0 以上的版本

alter user 'root'@'localhost' identified by 'root';
set password for root@localhost = '123456';

报错cant connect to local MySQL server through socket /tmp/mysql.sock (2)

找到/etc/my.cnf配置中的socket=/usr/local/mysql/mysql.sock

# 设置软连接
ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock

mysql8.0默认使用caching_sha2_password身份验证机制,从原来的mysql_native_password更改为caching_sha2_password;从 5.7 升级 8.0 版本的不会改变现有用户的身份验证方法,但新用户会默认使用新的 caching_sha2_password,客户端不支持新的加密方式。

# 方法之一,修改用户的密码和加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# 方法二,使用以前的密码加密方式,修改文件 /etc/my.cnf
[mysqld]
default_authentication_plugin=mysql_native_password

mysql8启动失败 mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log‘

# mysqld_safe 配置的日志目录并没有创建
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

# 执行以下命令
mkdir /var/log/mariadb     
touch /var/log/mariadb/mariadb.log
# mysql 用户和用户对目录进行授权
chown -R mysql:mysql /var/log/mariadb/

标签:password,安装,linux,mysqld,usr,mysql,mariadb,local,MySql
From: https://www.cnblogs.com/My-Sun-Shine/p/18021233

相关文章

  • mysql-udf-http插件的安装与使用
    mysql-udf-http插件的安装与使用查看原文安装curl点击下载地址,下载curl-7.69.0.tar.gz#解压curl-7.69.0.tar.gztar-zvxfcurl-7.69.0.tar.gzcdcurl-7.69.0#配置安装路径./configure-prefix=/usr/local/curl#进行安装make&&makeinstall安装mysql-udf-http点......
  • Linux运维(1)
    1.远程连接排障步骤(1)检查道路通不通:pingip地址或域名(2)检查防火墙是否开启:selinux(3)检查端口是否开启:telnetip地址端口号2.http端口:80;https端口号:443;远程连接端口号:223.快捷键:(1)光标移到行首:ctrl+a(2)光标移到行尾:ctrl+e(3)把光标所在位置到行首的内......
  • Burp Suite Professional 2023.12.1.5 (macOS, Linux, Windows) - Web 应用安全、测试
    BurpSuiteProfessional2023.12.1.5(macOS,Linux,Windows)-Web应用安全、测试和扫描BurpSuiteProfessional,Test,find,andexploitvulnerabilities.请访问原文链接:BurpSuiteProfessional2024.1.1(macOS,Linux,Windows)-Web应用安全、测试和扫描,查看最新......
  • linux 中 grep命令 $?返回值 0、1、2的意义
     0:找到匹配模式1:未找到匹配模式2:指定的输入文件不对001、[root@pc1test1]#lsa.txt[root@pc1test1]#cata.txt##测试文本aabbcc11aa3333ddbb[root@pc1test1]#grep"aa"a.txt##匹配aaaabbcc11aa33[root@pc1test1]#echo$?......
  • 01 MySQL的基本架构
    前言:记录对林晓斌老师的《MySQL实战45讲》课程学习路程。01MySQL的基本架构MySQL的逻辑架构图MySQL分为Server层和存储引擎层两部分。Server层功能:实现所有跨存储引擎的功能,比如存储过程、触发器、视图等。连接器、查询缓存、分析器、优化器、执行器等,以及......
  • Linux_4 ssh
    title:(在线学习平台)link:(https://www.acwing.com/)cover:(https://cdn.acwing.com/media/activity/surface/log.png)ssh登录作用在开发时,通常会用Terminal通过ssh登录到每个服务器里,打开服务器终端,以进行开发,通常来说,一个服务器会给出如下的几个信息:hostIPpassword......
  • centos7下安装的1.8jdk包
    1.安装目录选择你jdk需要放置的安装目录,我这里选择的是/usr/local/2.解压把在jdk官网下载的jdk包放入指定的文件夹下并解压,注意不同linux发行版下的jdk包是不一样的,不同系统下的包是不能使用的,比如我之前在centos7下安装的jdk包,在ubuntu18.04下就用不了。进入jdk目录下,解压命......
  • 微软 Office 2021 专业增强版,安装完自动激活
    123盘下载地址  MicrosoftOffice2021VL官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘(123pan.com)安装前先关闭windows系统自带的 病毒  微软办公软件套件MicrosoftOfficeLTSC2021专业增强版2024年01月批量许可版更新推送!Office2021正式版和Windows11......
  • 在windows下打包linux可执行文件
    尝试set命令设置环境变量,然后执行打包,但是打包出来还是windows文件命令行直接设置:在运行 gobuild 命令之前,在同一命令行窗口中先设置环境变量,并确保在同一行内设置以确保它们在同一环境中生效CGO_ENABLED=0GOOS=linuxGOARCH=amd64gobuild-omyapp-linux-amd64main.go......
  • Tushare介绍、安装及使用教程
    Tushare是一个开放、免费的Python数据接口库,用于获取金融数据。它为投资、开发者和数据分析师提供了大量的股票、期货、基金等金融市场数据,可以用于市场风险评估、交易策略开发、投资决策支持等方面。Tushare使用简单便捷,在Python开发环境中,可以方便地获取股票、指数、基金等金融......