首页 > 数据库 >安装MySQL

安装MySQL

时间:2024-06-30 20:19:43浏览次数:18  
标签:安装 -- root MySQL devel usr mysql local

安装MySQL

yum安装MySQL

[root@7-1 ~]#yum install mariadb-server -y
[root@7-1 ~]#systemctl start mariadb.service
[root@7-1 ~]#mysql
[root@7-1 ~]#mysql_secure_installation 
#初始化设置  先输入密码 一路回车     

[root@7-1 ~]#tee /etc/yum.repos.d/mysql.repo <<EOF
[mysql]
name=mysql5.7
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/
gpgcheck=0
EOF

清华大学  没有初始密码   5.7.41


[root@7-1 ~]#tee /etc/yum.repos.d/mysql.repo <<EOF
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
enabled=1
gpgcheck=0
EOF

官方源   5.7.3.

[root@7-1 ~]#cat >/etc/yum.repos.d/mysql.repo <<EOF
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
enabled=1
gpgcheck=0
EOF


http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/

[root@7-1 ~]#yum -y install mysql-community-server
[root@7-1 yum.repos.d]# systemctl start mysqld
[root@7-1 yum.repos.d]# ss -ntap |grep 3306
[root@7-1 yum.repos.d]# mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@7-1 ~]#grep password /var/log/mysqld.log
[root@7-1 yum.repos.d]# mysql -u root -p'+8saq%5+ljzG'
#特殊符号用单引号引起来



myslq    
客户端软件
mysaladmin 




mysql> status
#必须改密码
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

set global validate_password_policy=0;
set global validate_password_length=1;
#修改密码策略

mysql> alter user root@'localhost' identified by 'Admin@123';
alter user root@'localhost' identified by 'abc123';

mysql> \h
#查看帮助



应用单多线程:
pstree -p
cat /proc/线程id/status
proc 存在内存中

mysql> system hostname
localhost.localdomain
#可以直接使用系统命令
#source 可以调用脚本


mysql> \h, help
mysql> \u,use
mysql> \s,status
mysql> \!,system

mysql [OPTIONS] [database]
命令格式

-A, --no-auto-rehash 禁止补全
-u, --user= 用户名,默认为root
-h, --host= 服务器主机,默认为localhost
-p, --passowrd= 用户密码,建议使用-p,默认为空密码
-P, --port= 服务器端口
-S, --socket= 指定连接socket文件路径
-D, --database= 指定默认数据库
-C, --compress 启用压缩
-e   "SQL" 执行SQL命令
-V, --version 显示版本
-v  --verbose 显示详细信息
--print-defaults 获取程序默认使用的配置

#默认空密码登录
mysql  -uroot  -p

mysql>use mysql #切换数据库
mysql> select database();                   #查看当前数据库
mysql>select user(); #查看当前用户
mysql>SELECT User,Host,Password FROM user;
mysql>system clear #清屏
mysql> ^DBye       #ctrl+d 退出

mysqladmin命令

mysqladmin [OPTIONS] command command...

#查看mysql服务是否正常,如果正常提示mysqld is alive
mysqladmin -u用户 -p密码   ping
mysqladmin -uroot -p123123  ping
#关闭mysql服务,但mysqladmin命令无法开启
mysqladmin -uroot -pcentos shutdown
#创建数据库testdb
mysqladmin -uroot -pcentos   create testdb 
#删除数据库testdb
mysqladmin -uroot -pcentos   drop testdb
#修改root密码
mysqladmin -uroot -pAdmin@123 password ‘zhj'
#日志滚动,生成新文件/var/lib/mysql/mariadb-bin.00000N
mysqladmin -uroot -pcentos flush-logs





登录数据库

使用 清华源安装的数据库 默认自带 密码,初始密码在 /var/log/mysql.log

[root@7-1 ~]#grep password /var/log/mysqld.log
[root@7-1 yum.repos.d]# mysql -u root -p'+8saq%5+ljzG'
#特殊符号用单引号引起来

rpm包安装

yum remove  mysql-libs   #卸载 mariadb的安装联系
rpm -ivh mysql-community-common-5.7.44-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-5.7.44-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm 
rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm 

编译安装

安装相关依赖包

yum -y install gcc gcc-c++ cmake bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel   ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel

源码编译安装

编译安装说明

利用cmake编译,而利用传统方法,cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译编译选项: https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

下载并解压缩源码包

tar xf  mysql-boost-5.7.20.tar.gz

[root@7-1 opt]#cd mysql-5.7.20/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

#############模块解释#####################
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
#指定mysql的安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
#指定mysql进程监听套接字文件(数据库连接文件)的存储路径
-DSYSCONFDIR=/etc \
#指定配置文件的存储路径
-DSYSTEMD_PID_DIR=/usr/local/mysql \
#指定进程文件的存储路径
-DDEFAULT_CHARSET=utf8  \
#指定默认使用的字符集编码,如utf8
-DDEFAULT_COLLATION=utf8_general_ci \
#指定默认使用的字符集校对规则
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
#安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
#安装ARCHIVE存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
#安装BLACKHOLE存储引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
#安装FEDERATED存储引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \
#指定数据库文件的存储路径
-DWITH_BOOST=boost \
#指定boost的路径,
-DWITH_SYSTEMD=1
#生成便于systemctl管理的文件
#############模块解释#####################


make -j2
make install

4、数据库目录进行权限调整
[root@7-1 mysql-5.7.20]#chown -R mysql:mysql /usr/local/mysql/

5、调整配置文件
[root@7-1 mysql-5.7.20]#vi /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES


NO_ENGINE_SUBSTITUTION
如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常
STRICT_TRANS_TABLES
在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制
NO_AUTO_CREATE_USER
禁止:GRANT创建密码为空的用户
NO_AUTO_VALUE_ON_ZERO
mysql中的自增长列可以从o开始。默认情况下自增长列是从1开始的,如果你插入值为0的数据会报错
NO_ZERO_IN_DATE
mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告
ERROR_FOR_DIVISION_BY_ZERO
在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。默认情况下数据被零除时MysQL返回NULL
IPES_AS_CONCAT
将"||"视为字符串的连接操作符而非或运算符,这和oracle数据库是一样的,
ANSI QUOTES
启用ANSI QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符

[root@7-1 mysql-5.7.20]#chown mysql:mysql /etc/my.cnf
#改变属主 属组


6、设置环境变量
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile


7、初始化数据库
cd /usr/local/mysql/

bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

8、数据库开启自启、 关闭、状态 
systemctl enable mysqld
systemctl start mysqld
systemctl stop mysqld
systemctl status mysqld
netstat -anpt | grep 3306


9、设置Mysql密码

mysqladmin -u root -p password
#开始初始密码为空  回车即可   然后输入新密码

update mysql.user set authentication_string=password('123123') where user='root' and host='127.0.0.1' or host='localhost';
update mysql.user set authentication_string=password('newpassword') where user='root' and host='127.0.0.1' or host='localhost';



10、登录数据库
mysql -u root -p 


#################提示:#############
如果出错,执行rm -f CMakeCache.txt
###################################

二进制安装 mysql5.7

1准备用户

groupadd -r  -g  306 mysql
useradd  -r  -g  306 -u 306 -d /data/mysql mysql

2. 准备数据目录,建议使用逻辑卷

#可选做,后面的脚本mysql_install_db可自动生成此目录
mkdir /data/mysql   -p
chown mysql:mysql /data/mysql

3.准备二进制程序

tar xf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz 
ln -s /data/mysql-5.7.44-linux-glibc2.12-x86_64   /usr/local/mysql

4.准备配置文件

cp /etc/my.cnf{,.bak}
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
skip_name_resolve=1
socket=/data/mysql/mysql.sock        
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock

5 创建数据库文件生成root空密码

mysqld --initialize-insecure --user=mysql --datadir=/data/mysql


# 生成随机密码
mysqld --initialize   --user=mysql --datadir=/data/mysql

6 准备服务脚本,并启动服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start

systemctl  start  mysqld   

7 PATH路径

echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

8 安全初始化

/usr/local/mysql/bin/mysql_secure_installation

9测试登录

mysql -uroot -p

mycli 插件 客户端工具

客户端工具和mysql, 根据实际环境升级python

[root@7-1 opt]#yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
[root@7-1 opt]#tar zxvf Python-3.7.7_.tgz
[root@7-1 Python-3.7.7]#cd Python-3.7.7/
[root@7-1 Python-3.7.7]#./configure --prefix=/usr/local/Python-3.7.7/
[root@7-1 Python-3.7.7]#make  -j2 &&   make install
[root@7-1 Python-3.7.7]#make install
[root@7-1 Python-3.7.7]#ln -s  /usr/local/Python-3.7.7/bin/python3.7  /usr/bin/python37
[root@7-1 Python-3.7.7]#ln -s /usr/local/Python-3.7.7/bin/pip3.7 /usr/bin/pip37
[root@7-1 Python-3.7.7]#pip37 install --upgrade pip -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
[root@7-1 Python-3.7.7]#pip37 install mycli -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

[root@7-1 Python-3.7.7]#ln -s /usr/local/Python-3.7.7/bin/mycli /usr/bin/mycli


[root@7-1 Python-3.7.7]#mycli -u root -p 123123

[root@7-1 ~]#vim /etc/my.cnf                       
[mysql]
prompt=(\\u@\\h) [\\d]>\\_
auto-rehash


wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz

图形化界面:

[mysqld]
skip_grant_tables

标签:安装,--,root,MySQL,devel,usr,mysql,local
From: https://www.cnblogs.com/GrandOB/p/18276899

相关文章

  • MySQL优化
    MySQL优化1、尽量避免使用子查询例:SELECT*FROMt1WHEREid(SELECTidFROMt2WHEREname='chackca');其子查询在Mysql5.5版本里,内部执行计划是这样:先查外表再匹配内表,而不是先查内表t2,当外表的数据很大时,查询速度会非常慢在MariaDB10/Mysql5.6版本里,采用join关联方式......
  • 深入解析MySQL语句的执行步骤
    目录MySQL架构概述语句执行步骤总览连接管理与线程处理语法解析查询缓存语义解析与预处理查询优化执行计划生成存储引擎层执行结果集返回优化查询性能的技巧结论MySQL架构概述在深入探讨MySQL语句执行的具体步骤之前,我们先来了解MySQL的整体架构。MySQL架构主要包括以下......
  • 离线安装docker社区版
    提示:以下所有命令都在Ubuntu-24.04-live-server-amd64系统中运行文章目录前言一、离线包制作二、在目标系统上离线安装DockerCE总结前言安全原因,内部机器不能联网,要给新机器安装docker-ce只能使用离线安装方法。如果使用本文的下载包可以直接跳到第二项看。......
  • 10分钟安装好torch的GPU版本(Windows)
    pytorch-gpu1.确定cuda版本2.确定Python版本3开始下载-cu118-cp383.1下载cuda3.2下载torchvision4.下载好了5.开始安装6.开始验证1.确定cuda版本nvcc-V版本为11.8,一会下载的版本为cu1182.确定Python版本确定python版本为为3.8,一会下载为cp38......
  • 【Mac】iTerm for mac(终端工具)软件介绍及安装教程
    软件介绍iTerm是macOS上一个非常受欢迎的终端仿真器,提供了比默认的Terminal应用更多的功能和定制选项。它是一款开源软件,主要用于命令行界面的操作和开发者工具。主要特点和功能:分页和标签:iTerm允许用户在单个窗口中使用多个标签页和分页。这使得在多个终端会话之......
  • 基于JSP和MySQL的小说阅读网站系统
    开头语:你好,我是计算机专业的猫哥,如果你对小说阅读网站感兴趣,欢迎联系我。开发语言:JSP数据库:MySQL技术:JSP+Java工具:MySql数据库,Java开发工具系统展示首页管理员功能模块读者后台功能模块作者后台功能模块摘要随着网络的发展,小说阅读行业迅速壮大,小说阅读网......
  • Fastapi 项目第二天首次访问时数据库连接报错问题Can't connect to MySQL server
    问题描述Fastapi项目使用sqlalchemy连接的mysql数据库,每次第二天首次访问数据库相关操作,都会报错:sqlalchemy.exc.OperationalError:(pymysql.err.OperationalError)(2003,"Can'tconnecttoMySQLserveron'x.x.x.x'([Errno111]Connectionrefused)")问题分析从出......
  • linux安装中文字体
    1.从windows复制宋体字体2.linux系统下/usr/share/fonts3.创建simsun路径,将字体文件放进去4.改一下字体权限cd/usr/share/fonts/sudochmod-Rmyfonts7555.安装依赖yuminstallmkfontscaleyuminstallfontconfig6.执行以下命令mkfontscalemkfontdirfc-cache......
  • MySQL 常见性能问题排除
     随着时间的推移,即使是设计良好的数据库也会遇到性能问题,这些问题源于各种因素,如数据的增长、次优的索引策略、优化不佳的查询或不均衡的服务器配置。 常见的性能问题1.查询速度慢最常见的性能问题之一是查询执行缓慢。缓慢的查询会增加等待时间,阻碍应用程序的响应速度,从......
  • 解读MySQL 8.0数据字典的初始化与启动
    本文分享自华为云社区《MySQL全文索引源码剖析之Insert语句执行过程》,作者:GaussDB数据库。本文主要介绍MySQL8.0数据字典的基本概念和数据字典的初始化与启动加载的主要流程。MySQL8.0数据字典简介数据字典(DataDictionary,DD)用来存储数据库内部对象的信息,这些信息也被称......