首页 > 数据库 >Linux安装MySQL(8.0)

Linux安装MySQL(8.0)

时间:2023-09-18 13:57:50浏览次数:40  
标签:8.0 -- Linux var usr mysql MySQL local

Linux安装MySQL(8.0)

​ 下载安装包,官网地址:http://dev.mysql.com/downloads/mysql/

​ 将安装包上传至服务器并解压,eg:

tar -zxvf mysql-8.0.34-linux-glibc2.17-x86_64.tar.gz

​ 将解压后的文件夹移动到/usr/local/mysql路径下并重命名,eg:

mv mysql-8.0.34-linux-glibc2.17-x86_64.tar.gz /usr/local/mysql

如果/usr/local路径下已经存在mysql文件夹,则先将原来的mysql文件夹重命名再执行mv命令

​ 创建 mysql 用户及用户组(如果不存在)

# 查看用户
cat /etc/passwd
# 查看用户所属用户组
id 用户名
# 创建 mysql 用户组
groupadd mysql
# 创建 mysql 用户并分配用户组
useradd -g mysql -m mysql

​ 在/usr/local/mysql路径下创建数据存储目录data,eg:

mkdir /usr/local/mysql/data
# 授权
chown -R mysql:mysql /usr/local/mysql/

​ 数据库初始化

# 进入 /usr/local/mysql/bin 目录
cd /usr/local/mysql/bin
# 初始化
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower-case-table-names=1

MySQL8.0需要加上--lower-case-table-names=1,参考文档:https://blog.csdn.net/lizhengyu891231/article/details/123413142

​ 执行初始化命令后系统会生成root的临时密码,需要 记录下来,首次登录后会要求更改密码,eg:

A temporary password is generated for root@localhost: =>*gCoy6#f2I

​ 调整 MySQL 文件夹的权限

mkdir -p /var/lib/mysql/
mkdir -p /var/log/mariadb/
chown -R mysql:mysql /var/log/mariadb/
chown -R mysql:mysql /var/lib/mysql/

​ 修改 mysql 的配置文件/etc/my.cnf

[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8
socket=/var/lib/mysql/mysql.sock

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

[mysql]
socket=/var/lib/mysql/mysql.sock
  • lower_case_table_names:是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;不能动态设置,修改后,必须重启才能生效

  • character_set_server:设置数据库默认字符集,如果不设置默认为 latin1

  • innodb_file_per_table:是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别转换到用户 mysql 来执行启动 MySQL 服务

​ 转换到用户 mysql 来执行启动 MySQL 服务,eg:

su mysql
cd /usr/local/mysql/support-files
./mysql.server start

返回Starting MySQL.. SUCCESS! 的话,就启动成功了

​ 添加软链接并重启

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
# 重启
service mysql restart

如果软链接已存在,则修改,eg:ln -snf /usr/local/mysql/bin/mysql /usr/bin/mysql

​ 启动/停止命令

service mysql start
service mysql stop

​ 登录数据库并修改密码

mysql -hlocalhost -uroot -p
# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "123456";
# 刷新
flush privileges;

​ 设置开机自启

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld

​ 数据库授权,授权后才可以远程连接

CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
grant all privileges on *.* to 'root'@'%';

参考文档:https://blog.csdn.net/weixin_44161444/article/details/130347923

标签:8.0,--,Linux,var,usr,mysql,MySQL,local
From: https://www.cnblogs.com/Y-wee/p/17711692.html

相关文章

  • 《LINUX驱动程序设计》学习笔记 ——04
    1.模块的装载竞争(竞态)竞态是驱动程序设计极其重要的方面,始终要铭记:在注册完成后,内核的某些部分可能会立即使用我们刚刚注册的任何设施。换句话说,在初始化函数还在运行的时候,内核就完全可能会调用我们的模块。因此,在首次注册完成后,代码就应该准备好被内核其他部分调用;在用来......
  • Python在Linux上执行脚本
    Linux命令行运行Python脚本1.安装Python解释器查看Python解释器安装位置:whichpython2.创建Python脚本这里说下在linux中命令行创建Python脚本##nano命令创建hello.py,里面写一个print("Hello,World!")nanohello.py更多场景是你写个python文件,上传服务器,......
  • LINUX 下 JNA 调用 so--正确版
    1.编写C++so库c++代码:注意加上extern“C”,否则无法找到c++方法。#include<stdlib.h>#include<iostream>usingnamespacestd;extern"C"{voidtest(){cout<<"TEST"<<endl;}intaddTest(inta,intb)......
  • linux设置http/https proxy及忽略proxy的方法
    msys2设置网络代理在文件.bashrc中添加exporthttp_proxy="proxyIP:port"如exporthttp_proxy="192.168.0.1:8080"exporthttps_proxy="192.168.0.1:8080" 一,场景:有些linux服务器处于内网,并且没有公网ip,故要想与外网进行http/https通信只能通过nat或者加proxy的方式......
  • win10下docker安装 ubuntu18.04.
      参考 Win10使用Docker安装Ubuntu环境-知乎(zhihu.com)旧版WSL的手动安装步骤|MicrosoftLearn......
  • Windows和Linux下通过go实现自删除
    自删除在攻防中都挺常见的,自写远控通常也有需要。可是在度娘里搜不到什么办法,于是就查查Windowsapi学习记录一回。linux先获得当前程序的文件名,再使用syscall这个包中的Unlink调用系统来删除一个目录或者文件的链接,链接没了也就删除完成了。fileName,_:=os.Executable()......
  • Linux常用快捷键
    一、最常用快捷键Tab:快速补全命令;Ctrl+l:清屏,相当于执行clear命令;二、剪切、粘贴、删除快捷键Ctrl+h:删除光标左方位置的一个字符;Ctrl+d:删除光标位置的字符;Ctrl+u:删除(剪切)光标到行首之间的字符;Ctrl+k:删除(剪切)光标到行尾之间的字符;Ctrl+w:删除(剪切)从光标位置前到当前所处......
  • MySQL实战实战系列 03 事务隔离:为什么你改了我还看不见?
    提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转100块钱,而此时你的银行卡只有100块钱。 转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,不然等程序查完之后,还没做......
  • windows导出mysql(mysqldump)
      dump.batechooffclsecho正在初始化环境变量……echo.setbackup_date=%date:~0,4%%date:~5,2%%date:~8,2%setdb_name=db_testecho%backup_date%D:\mysql57\bin\mysqldump-hlocalhost-uudumpmonitor-pmysql-P13306%db_name%--default-character-set=ut......
  • Mysql常用处理
    日期处理时间格式化比较DATE_FORMAT(start_time,'%Y-%m-%d')=DATE_FORMAT(now(),'%Y-%m-%d')时间戳比较,注意有些时间戳会加3个000作为后缀,需格式化处理2.UNIX_TIMESTAMP(NOW())<=UNIX_TIMESTAMP(exam_date)实体字段为null设置配置全局处理字段注解@TableField(up......