Linux环境下安装MySQL5.7.20(源码安装)

📣📣📣
哈喽!大家好,本专栏主要发表mysql实战的文章,文章主要包括:
各版本数据库的安装、备份和恢复,性能优化等内容的学习。。
📣 ***如果需要观看配套视频的小伙伴们,请关注公众号【小萌资源分享】***📣
✨ ✨ ✨ 感谢各位大可爱小可爱!✨ ✨ ✨ 
📢📢📢

文章目录

  • 3.5 Linux环境下安装MySQL5.7.20(源码安装)
    • 3.5.1 MYSQL硬件环境准备
    • 3.5.2 MYSQL软件下载
    • 3.5.3 磁盘规划
      • 3.5.3.1 路径规划
    • 3.5.4 LVM卷管理
      • 3.5.4.1 创建物理卷PV
      • 3.5.4.2 创建卷组VG
      • 3.5.4.3 创建逻辑卷LV
      • 3.5.4.4 卷查看
      • 3.5.4.5 格式化逻辑卷
      • 3.5.4.6 逻辑卷挂载
      • 3.5.4.7 加载到开机启动中
      • 3.5.4.8 Lv扩容,缩容
      • 3.5.4.9 移除
    • 3.5.5 安装前系统配置
      • 3.5.5.1 配置hosts
      • 3.5.5.2 英文环境配置
      • 3.5.5.3 创建用户、组、目录
      • 3.5.5.4 修改资源限参数
      • 3.5.5.5 修改nproc参数
      • 3.5.5.6 修改安全策略
      • 3.5.5.7 关闭防火墙
      • 3.5.5.8 控制给用户分配的资源
      • 3.5.5.9 配置本地YUM源及软件包安装
      • 3.5.5.10 检查是否有历史版本的mysql
      • 3.5.5.11 检查mysql其它相关文件
    • 3.5.6 MYSQL安装
      • 3.5.6.1 上传并解压安装包
      • 3.5.6.2 安装编译工具cmake
      • 3.5.6.3 编译并安装mysql
      • 3.5.6.4 配置环境变量
      • 3.5.6.5 初始化参数
      • 3.5.6.6 初始化参数说明
      • 3.5.6.7 修改权限
      • 3.5.6.8 初始化数据库
      • 3.5.6.9 SSL认证(历史版本安装时需要)
      • 3.5.6.10 配置启动、停止配置文件
      • 3.5.6.11 测试是否能启动成功
      • 3.5.6.12 正常停止mysql
      • 3.5.6.13 查看mysql是否启动
      • 3.5.6.14 其它方式启动、停止mysql
    • 3.5.7 远程连接与测试
      • 3.5.7.1 打开设置界面
      • 3.5.7.2 设置连接参数
      • 3.5.7.3 测试连接
      • 3.5.7.4 解决测试连接出现的问题
      • 3.5.7.5 再次测试连接
    • 3.5.8 后期配置
      • 3.5.8.1 数据库启动、停止
      • 3.5.8.2 数据库的登陆方式
      • 3.5.8.3 查看当前有多少数据库
      • 3.5.8.4 修改数据库密码
      • 3.5.8.5 创建一个可以远程访问的用户
      • 3.5.8.6 如果忘记密码如何处理
      • 3.5.8.7 密码过期处理
    • 3.5.9 删除数据库
      • 3.5.9.1 删除数据库

3.5 Linux环境下安装MySQL5.7.20(源码安装)

3.5.1 MYSQL硬件环境准备

OS:Linux 7
在这里插入图片描述

MYSQL:

3.5.2 MYSQL软件下载

地址:www.mysql.com
在这里插入图片描述

3.5.3 磁盘规划

3.5.3.1 路径规划

路径	大小	备注
/mysql/app/mysql	200G,根据实际需要分配	安装目录
/mysql/data		数据目录
/mysql/log		日志目录
/mysql/backup		备份目录

3.5.4 LVM卷管理

在这里插入图片描述

3.5.4.1 创建物理卷PV

[root@asmorcl ~]# pvcreate /dev/sdd /dev/sdc 

3.5.4.2 创建卷组VG

[root@asmorcl ~]# vgcreate vgmysql /dev/sdd /dev/sdc

3.5.4.3 创建逻辑卷LV

[root@asmorcl ~]# lvcreate -n lvmysql -L 200G vgmysql

3.5.4.4 卷查看

Pvs 或者pvdisplay
Vgs 或者vgdisplay
Lvs 或者lvdisplay

3.5.4.5 格式化逻辑卷

[root@asmorcl ~]# mkfs.ext4 /dev/vgmysql/lvmysql

3.5.4.6 逻辑卷挂载

mkdir /mysql
[root@asmorcl ~]# mount /dev/vgmysql/lvmysql /mysql

3.5.4.7 加载到开机启动中

vi /etc/fstab 增加: /dev/vgmysql/lvmysql  /mysql ext4 defaults 0 0

3.5.4.8 Lv扩容,缩容

-------LV扩容
--lv空间加1g
[root@asmorcl ~]# lvextend -L +1g /dev/ vgmysql / lvmysql  
--lv空间加到30g
[root@asmorcl ~]# lvextend -L 30g /dev/ vgmysql / lvmysql  
--vg扩容
[root@asmorcl ~]# pvcreate /dev/sdn
[root@asmorcl ~]# vgcreate backvg /dev/sdn---LV缩容
[root@asmorcl ~]# lvreduce -L -2G /dev/vgback/lvback

3.5.4.9 移除

[root@asmorcl ~]# lvremove /dev/backvg/backlv
[root@asmorcl ~]# vgremove backvg
[root@asmorcl ~]# pvremove /dev/sdp

3.5.5 安装前系统配置

3.5.5.1 配置hosts

echo "192.168.101.69 ymysql ">>/etc/hosts
cat /etc/hosts

3.5.5.2 英文环境配置

export LANG=en_US >>~/.bash_profile

3.5.5.3 创建用户、组、目录

Groupadd mysql
Useradd  –r  –g mysql  –s /bin/false  mysql   [root@lmysql ~]# mkdir -p /mysql/data/3306/data
[root@lmysql ~]# mkdir -p /mysql/log/3306
[root@lmysql ~]# mkdir -p /mysql/app
[root@lmysql ~]# mkdir -p /mysql/backup

3.5.5.4 修改资源限参数

vi /etc/security/limits.conf----增加如下内容
* soft nproc  16384
* hard nproc 16384
* soft nofile  16384
* hard nofile 65536
* soft stack  10240
* hard stack 32768

3.5.5.5 修改nproc参数

echo "* - nproc 16384 ">/etc/security/limits.d/90-nproc.conf

3.5.5.6 修改安全策略

vi /etc/selinux/config
将:SELINUX=enabled 改为:SELINUX=disabledsetenforce 0

3.5.5.7 关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

3.5.5.8 控制给用户分配的资源

echo "session required pam_limits.so">>/etc/pam.d/login

3.5.5.9 配置本地YUM源及软件包安装

mount /dev/cdrom /mnt
cd /etc/yum.repos.d
rm*.repo
vi o2cfs.repo
-----增加如下内容
[EL]
name=o2cfs
baseurl=file:///mnt
gpgcheck=0:安全认证检测
enabled=1yum -y install libaio
yum -y install libaio-devel
yum -y install bison
yum -y install bison-devel
yum -y install zlib-devel
yum -y install openssl
yum -y install openssl-devel
yum -y install ncurses
yum -y install ncurses-devel
yum -y install libsurl-devel
yum -y install boost
yum -y install boost-devel
yum -y install lsof
yum -y install wget
yum -y install gcc
yum -y install gcc-c++
yum -y install make
yum -y install cmake
yum -y install perl
yum -y install kernel-headers
yum -y install kernel-devel
yum -y install pcre-devel

3.5.5.10 检查是否有历史版本的mysql

Rpm –qa|grep mysql
Rpm –e 包Rpm –qa|grep mariadb
Rpm –e 包
删除所有的包
[root@linux7 yum.repos.d]# rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 –nodeps(强制删除)

3.5.5.11 检查mysql其它相关文件

Find / -name mysql
Rm 删除相关文件

3.5.6 MYSQL安装

3.5.6.1 上传并解压安装包

Cd /mysql/app
tar -zxvf mysql-boost-5.7.20.tar.gz
ln -s mysql-5.7.20 mysql

3.5.6.2 安装编译工具cmake

cd /mysql/app/cmake-3.5.2
./bootstrap #编译cmake
gmake #执行gmake
gmake install  #安装

3.5.6.3 编译并安装mysql

Cd /mysql/app/mysqlcmake . -DCMAKE_INSTALL_PREFIX=/mysql/app/mysql -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/mysql/data/3306/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DSYSCONFDIR=/mysql/data/3306/ -DMYSQL_UNIX_ADDR=/mysql/data/3306/mysql.sock -DMYSQL_TCP_PORT=3306 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/mysql/app/mysql/boost/boost_1_59_0
-DCMAKE_INSTALL_PREFIX=/mysql/app/mysql   #mysql的安装目录
-DENABLED_LOCAL_INFILE=1   #是否支持本地的导入支持,1表示支持
-DMYSQL_DATADIR=/mysql/data/3306/data   #mysql数据的存放位置
-DWITH_INNOBASE_STORAGE_ENGINE=1  #是否编译innodb存储引擎
-DSYSCONFDIR= /mysql/data/3306/ #参数文件存放位置
-DMYSQL_UNIX_ADDR= /mysql/data/3306/mysql.sock #sock文件存放的位置
-DMYSQL_TCP_PORT=3306  #端口号
-DDEFAULT_CHARSET=utf8  #默认字符集为utf8
-DDEFAULT_COLLATION=utf8_general_ci #排序规划
-DWITH_EXTRA_CHARSETS=all #编译其它所有的字符集
-DDOWNLOAD_BOOST=1  #cmake编译时,还需要boost这个主键(注意boost版本)
-DWITH_BOOST=/mysql/app/mysql/boost/boost_1_59_0  #5.7.20 必须要用到这个版本的boost,下载时有集成了boost的源码包,下载那个就可以了-----------执行完上面后,执行如下命令安装make
make
make install

3.5.6.4 配置环境变量

[root@ymysql bin]# vi ~/.bash_profile
#增加如下内容
/mysql/app/mysql/bin

3.5.6.5 初始化参数

默认读取参数位置:/etc/my.cnfCd /mysql/data/3306
Vi my.cnf
[client]
port=3306
socket=/mysql/data//3306/mysql.sock[mysql]
no-beep
prompt="\u@mysqldb \R:\m:\s [\d]> "
#no-auto-rehash
auto-rehash
default-character-set=utf8[mysqld]
########basic settings########
server-id=3306
port=3306
user = mysql
bind_address = 0.0.0.0
basedir=/mysql/app/mysql
datadir=/mysql/data/3306/data
#tmpdir="E:\\MySQL\\tmp"
socket=/mysql/data//3306/mysql.sock
pid-file =/mysql/data/3306/mysql.pid
character-set-server=utf8
skip-character-set-client-handshake=1
autocommit = 0
#skip_name_resolve = 1
federated
max_connections = 800
max_connect_errors = 1000
default-storage-engine=INNODB
transaction_isolation = READ-COMMITTED
explicit_defaults_for_timestamp=1
sort_buffer_size = 32M
join_buffer_size = 128M
tmp_table_size = 72M
max_allowed_packet = 16M
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
interactive_timeout = 1800
wait_timeout = 1800
read_buffer_size = 16M
read_rnd_buffer_size = 32Mquery_cache_type = 1
query_cache_size=1M
table_open_cache=2000
thread_cache_size=768
key_buffer_size=32M
read_buffer_size=8M
read_rnd_buffer_size=4Mback_log=1024
#flush_time=0
open_files_limit=65536
table_definition_cache=1400
#binlog_row_event_max_size=8K
#sync_master_info=10000
#sync_relay_log=10000
#sync_relay_log_info=10000########log settings########
log-output=FILE
general-log=0
general_log_file=/mysql/log/3306/all-general.err
slow-query-log=ON
slow_query_log_file=/mysql/log/3306/slow-query.err
long_query_time=10
log-error=/mysql/log/3306/log-error.errlog_queries_not_using_indexes = 1
log_slow_admin_statements = 1
log_slow_slave_statements = 1
log_throttle_queries_not_using_indexes = 10
expire_logs_days = 90
min_examined_row_limit = 100########replication settings########
#master_info_repository = TABLE
#relay_log_info_repository = TABLE
#log_bin = bin.log
#sync_binlog = 1
#gtid_mode = on
#enforce_gtid_consistency = 1
#log_slave_updates
#binlog_format = row 
#relay_log = relay.log
#relay_log_recovery = 1
#binlog_gtid_simple_recovery = 1
#slave_skip_errors = ddl_exist_errors########innodb settings########
#根据您的服务器IOPS能力适当调整
#一般配普通SSD盘的话,可以调整到 10000 - 20000
#配置高端PCIe SSD卡的话,则可以调整的更高,比如 50000 - 80000
innodb_io_capacity = 4000
innodb_io_capacity_max = 8000
innodb_buffer_pool_size = 5000M innodb_buffer_pool_instances = 8
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_at_shutdown = 1
innodb_lru_scan_depth = 2000
innodb_lock_wait_timeout = 5
#innodb_flush_method = O_DIRECTinnodb_log_file_size = 200M
innodb_log_files_in_group = 2 
innodb_log_buffer_size = 16Minnodb_undo_logs = 128
innodb_undo_tablespaces = 3
innodb_undo_log_truncate = 1
innodb_max_undo_log_size = 2Ginnodb_flush_neighbors = 1
innodb_purge_threads = 4
innodb_large_prefix = 1
innodb_thread_concurrency = 64
innodb_print_all_deadlocks = 1
innodb_strict_mode = 1
innodb_sort_buffer_size = 64M
innodb_flush_log_at_trx_commit=1
innodb_autoextend_increment=64
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=65536
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
innodb_data_file_path=ibdata1:200M;ibdata2:200M;ibdata3:200M:autoextend:max:5G
#生产环境建议21G,最后再弄个自动扩展5G,根据自己的事物对定。
innodb_temp_data_file_path = ibtmp1:200M:autoextend:max:20Ginnodb_buffer_pool_dump_pct = 40
innodb_page_cleaners = 4
innodb_purge_rseg_truncate_frequency = 128
binlog_gtid_simple_recovery=1
log_timestamps=system
#transaction_write_set_extraction=MURMUR32
show_compatibility_56=on

3.5.6.6 初始化参数说明

[client] #客户端
port=3306  #客户端端口号
socket=/mysql/data//3306/mysql.sock #sock文件存放位置#mysql环境变量设置
[mysql]  
no-beep
prompt="\u@mysqldb \R:\m:\s [\d]> "#登陆提示符
#no-auto-rehash
auto-rehash#自动初全,tab补全命令
default-character-set=utf8  #默认字符集#服务器参数
[mysqld]
########basic settings########
server-id=3306  #mast主从复制时使用的
port=3306  #服务器端口号
user = mysql #用户
bind_address = 0.0.0.0  #IP地址
basedir=/mysql/app/mysql #安装目录
datadir=/mysql/data/3306/data  #数据目录
#tmpdir="E:\\MySQL\\tmp" #临时文件
socket=/mysql/data//3306/mysql.sock  #sock文件存放位置	
pid-file =/mysql/data/3306/mysql.pid   #进程文件
character-set-server=utf8   #服务器字符集
skip-character-set-client-handshake=1
autocommit = 0  #是否自动提示,0代表否
#skip_name_resolve = 1
federated #dblink的功能
max_connections = 800  #最大连接数
max_connect_errors = 1000 #最大连接错误数
default-storage-engine=INNODB#默认存储引擎
transaction_isolation = READ-COMMITTED#事务隔离级别,读提交
explicit_defaults_for_timestamp=1#是否启用标准特性,1:标准,0:非标准 
#备注:如果为0时,如果没有指定null属性,也没有指定默认值,那么该列会被自动加上DEFAULT #'0000-00-00 00:00:00'属性
#TIMESTAMP列如果没有显式声明NOT NULL属性(或显示声明NULL属性),那么默认的该列可以为null 
sort_buffer_size = 32M# sort_buffer_size 排序缓存大小;它是一个connection级参数,在每个connection第一次需要使用这个buffer的时候,一次性分配设置的内存。并不是越大越好,由于是connection级的参数,过大的设置+高并发可能会耗尽系统内存资源。
join_buffer_size = 128M #普通的索引扫,范围扫和全表扫的连接缓冲区,两个表连接时会产生一个join buffer,多个表的连接可以产生多个join buffer,join buffer在表连接发生之前进行分配,在SQL语句执行完毕之后进行释放
tmp_table_size = 72M#规定了内部内存临时表的最大值,每个线程都要分配
max_allowed_packet = 16M#指mysql服务器端和客户端在一次传送数据包的过程当中最大允许的数据包大小
sql_mode# sql_mode是一组语法校验规则= "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
interactive_timeout = 1800#定义了对于交互式连接(比如使用cmd命令窗口或者在linux上连接msyql),服务器等待的最大时间,如果超过这个时间,服务端仍然没有受到数据,则会关闭连接;单位为秒
wait_timeout = 1800 #定义的是非交互连接,比如jdbc,功能和interactive_timeout一样,都是为了让客户端超过一定时间以后就被动关闭。单位为秒read_buffer_size = 16M#读缓存大小
read_rnd_buffer_size = 32M#是MySQL的随机读缓冲区大小query_cache_type = 1#这个系统变量控制着查询缓存工能的开启的关闭, 0时表示关闭,1时表示打开,2表示只要select 中明确指定SQL_CACHE才缓存
query_cache_size=1M #查询缓存大小
table_open_cache=2000#规定了内存中允许打开表的数量,当MySQL在处理查询请求时table_open_cache将会起到较大作用,有效设置并使用此参数可以降低热点表的频繁开关动作,从而改善性能
thread_cache_size=768 #当客户端断开之后,服务器处理此客户的线程将会缓存起来以响应下一个客户而不是销毁(前提是缓存数未达上限)。如果是短连接,适当设置大一点。如果是长连接,可以设置成小一点,一般在50-100左右。
key_buffer_size=32M #索引块使用的缓冲大小
read_buffer_size=8M#读缓存大小
read_rnd_buffer_size=4M#是MySQL的随机读缓冲区大小back_log=1024 #如果MySql的连接数达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源
#flush_time=0
open_files_limit=65536 #同时打开文件的数量
table_definition_cache=1400 #表定义信息缓存
#binlog_row_event_max_size=8K
#sync_master_info=10000
#sync_relay_log=10000
#sync_relay_log_info=10000########log settings########
log-output=FILE #日志文件输出入的类型:文件
general-log=0 #全局的日志,默认是关闭
general_log_file=/mysql/log/3306/all-general.err #输出路径,默认是data目录下
slow-query-log=ON #开启慢查询日志
slow_query_log_file=/mysql/log/3306/slow-query.err #慢查询输出路径,默认是data目录下
long_query_time=10 #慢查询超过10秒,就放到日志中
log-error=/mysql/log/3306/log-error.err #错误日志log_queries_not_using_indexes = 1  #将没有使用索引的SQL记录到慢查询日志
log_slow_admin_statements = 1 #记录超时的管理操作SQL到慢查询日志
log_slow_slave_statements = 1 #在从服务器上开启慢查询日志
log_throttle_queries_not_using_indexes = 10 #限制每分钟内,在慢查询日志中,去记录没有使用索引的SQL语句的次数
expire_logs_days = 90 #日志自动过期90天
min_examined_row_limit = 100 #扫描记录少于改值的SQL不记录到慢查询日志########replication settings########
#master_info_repository = TABLE
#relay_log_info_repository = TABLE
#log_bin = bin.log
#sync_binlog = 1
#gtid_mode = on
#enforce_gtid_consistency = 1
#log_slave_updates
#binlog_format = row 
#relay_log = relay.log
#relay_log_recovery = 1
#binlog_gtid_simple_recovery = 1
#slave_skip_errors = ddl_exist_errors########innodb settings########
#根据您的服务器IOPS能力适当调整
#一般配普通SSD盘的话,可以调整到 10000 - 20000
#配置高端PCIe SSD卡的话,则可以调整的更高,比如 50000 - 80000
innodb_io_capacity = 4000 #变量定义innodb可用的总体I/O容量。它应该设置为系统每秒可以执行的I/O操作数(IOPS),默认值为200 可动态修改。当设置了innodb_io_capacity时,innodb根据设置的值估计后台任务可用的I/O带宽
innodb_io_capacity_max = 8000 #如果您在启动时指定了一个innodb_io_capacity设置,但没有为innodb_io_capacity_max指定值,则innodb_io_capacity_max默认为innodb_io_capacity的两倍,最小值为2000
innodb_buffer_pool_size = 5000M  #类似Oracle  SGA,innodb的缓存,不超过物理内存的80%innodb_buffer_pool_instances = 8 #设置多个缓冲池实例  这个是在高并发负载的服务器上才看得出区别。比如多个线程同时做许多事情
innodb_buffer_pool_load_at_startup = 1  #默认启用。指定在MySQL服务器启动时,InnoDB缓冲池通过加载之前保存的相同页面自动预热。 通常与innodb_buffer_pool_dump_at_shutdown结合使用
innodb_buffer_pool_dump_at_shutdown = 1 #默认启用。指定在MySQL服务器关闭时是否记录在InnoDB缓冲池中缓存的页面,以便在下次重新启动时缩短预热过程。
innodb_lru_scan_depth = 2000 #定义了 LRU 的空闲page 的数量,并且是每个 buffer_pool 的数量
innodb_lock_wait_timeout = 5 #锁等待超时时间
#innodb_flush_method = O_DIRECTinnodb_log_file_size = 200M #innodb 日志文件200M一个
innodb_log_files_in_group = 2  #有两组innodb日志文件
innodb_log_buffer_size = 16M #日志文件缓存16Minnodb_undo_logs = 128 #undo128个段
innodb_undo_tablespaces = 3 #表空间3个,写满自动回收
innodb_undo_log_truncate = 1 #1代表自动清理
innodb_max_undo_log_size = 2G #最大日志2Ginnodb_flush_neighbors = 1
innodb_purge_threads = 4
innodb_large_prefix = 1
innodb_thread_concurrency = 64
innodb_print_all_deadlocks = 1
innodb_strict_mode = 1
innodb_sort_buffer_size = 64M
innodb_flush_log_at_trx_commit=1
innodb_autoextend_increment=64
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=65536
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
innodb_data_file_path=ibdata1:200M;ibdata2:200M;ibdata3:200M:autoextend:max:5G
#3个数据文件,每个数据文件200M,可自动扩展,最大5G,这些是系统表空间数据文件
#生产环境建议21G,最后再弄个自动扩展5G,根据自己的事物对定。
innodb_temp_data_file_path = ibtmp1:200M:autoextend:max:20G
#临时文件1个,可自动扩展,最大20G
innodb_buffer_pool_dump_pct = 40
innodb_page_cleaners = 4
innodb_purge_rseg_truncate_frequency = 128
binlog_gtid_simple_recovery=1
log_timestamps=system
#transaction_write_set_extraction=MURMUR32
show_compatibility_56=on

3.5.6.7 修改权限

Chown –R mysql:mysql /mysql
Chmod –R 775 /mysql

3.5.6.8 初始化数据库

[root@lmysql 3306]# mysqld --defaults-file=/mysql/data/3306/my.cnf --initialize --user=mysql --basedir=/mysql/app/mysql --datadir=/mysql/data/3306/data

3.5.6.9 SSL认证(历史版本安装时需要)

mysql_ssl_rsa_setup --user=mysql --basedir=/mysql/app/mysql --datadir=/mysql/data/3306/data

3.5.6.10 配置启动、停止配置文件

cd /mysql/app/mysqlsupport-files
cp mysql.server mysqlvi mysql文件里面要修改的地方:
basedir=/mysql/app/mysql
datadir=/mysql/data/3306/data
mysqld_pid_file_path=/mysql/data/3306/mysql.pid
bindir=/mysql/app/mysql/bin
sbindir=/mysql/app/mysql/sbin
libexecdir=/mysql/app/mysql/bin$bindir/mysqld_safe --default-files=/mysql/data/3306/my.cnf --datadir="$datadir"

3.5.6.11 测试是否能启动成功

mysqld_safe --defaults-file=/mysql/data/3306/my.cnf或者
cd /mysql/app/mysql/support-files/
./mysql start

3.5.6.12 正常停止mysql

cd /mysql/app/mysql/support-files/
./mysql stop 

3.5.6.13 查看mysql是否启动

./mysql status 查看状态
或者
Ps –ef|grep mysql

3.5.6.14 其它方式启动、停止mysql

cd /mysql/app/mysqlsupport-files
cp mysql   /etc/init.d/service mysql start
service mysql stop

3.5.7 远程连接与测试

3.5.7.1 打开设置界面

在这里插入图片描述

在这里插入图片描述

3.5.7.2 设置连接参数

在这里插入图片描述

3.5.7.3 测试连接

在这里插入图片描述

3.5.7.4 解决测试连接出现的问题

第一步:
在这里插入图片描述

第二步:use mysql
在这里插入图片描述

第三步:update user set host=’%’ where user=’root’;
在这里插入图片描述

第四步:flush privileges;
在这里插入图片描述

3.5.7.5 再次测试连接

在这里插入图片描述

3.5.8 后期配置

3.5.8.1 数据库启动、停止

ln -sf /mysql/data/3306/mysql.sock /tmp/

mysqladmin -uroot -p123456 shutdown
或者

在这里插入图片描述

3.5.8.2 数据库的登陆方式

在这里插入图片描述

3.5.8.3 查看当前有多少数据库

在这里插入图片描述
在这里插入图片描述

3.5.8.4 修改数据库密码

Desc user;
在这里插入图片描述

方式一:
Update user set authentication_string=password(“1234567”) where user=’root’;
在这里插入图片描述

方式二:
set password=PASSWORD(‘123456’);
flush privileges;
在这里插入图片描述

3.5.8.5 创建一个可以远程访问的用户

Grant all privileges on . to ‘root’@’%’ identified by ‘123456’;
Flush privileges;

在这里插入图片描述

3.5.8.6 如果忘记密码如何处理

Cd /mysql/data/3306
Vi my.cnf
在[mysqld]中增加如下代码,然后重启mysql即可
Skip-grant-tables

3.5.8.7 密码过期处理

Use mysql
设置密码不过期:update user set password_expired=’N’ where user=’root’;
Flush privileges;

3.5.9 删除数据库

3.5.9.1 删除数据库

Rm –rf app/*
Rm –rf data/*
Rm –rf log/*Rm –rf /etc/init.d/mysqlId mysql
Userdel mysql
Groupdel mysql

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/34861.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Apache Doris】周FAQ集锦:第 8 期

【Apache Doris】周FAQ集锦:第 8 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目! 在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户和…

Fluent udf编译的一些注意事项

Fluent udf编译的一些注意事项 参考链接:1.fluent UDF编译环境处理_哔哩哔哩_bilibili 2.【觉兽课堂】ANSYS FLUENT UDF教学02:UDF语法及编写 小白入门必备_哔哩哔哩_bilibili #1 需要注意的内容 ##1.1 修改vs的路径 在fluent路径中,打开ud…

Golang笔记:使用serial包进行串口通讯

文章目录 目的使用入门总结 目的 串口是非常常用的一种电脑与设备交互的接口。这篇文章将介绍golang中相关功能的使用。 本文使用的包为 :go.bug.st/serial https://pkg.go.dev/go.bug.st/serial https://github.com/bugst/go-serial 另外还有一些常见的包如&…

cpp入门(命名空间,输入输出与缺省参数)

目录 cpp关键字 命名空间 命名空间的使用 1.加名称及作用域限定符 2.使用using将命名空间中某个成员引入 3.展开命名空间 注意 输入输出 缺省参数 cpp关键字 命名空间 定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字&#xff0c…

素数普遍公式与哥德巴赫猜想

详见百度百科【素数普遍公式】 公元前250年同样是古希腊的数学家埃拉托塞尼提出一种筛法: (一)“要得到不大于某个自然数N的所有素数,只要在2---N中将不大于 的素数的倍数全部划去即可”。 (二)将上面的…

NodeJs实现对本地 mysql 数据库的增删改查

写在前面 今天我们接着写nodejs对数据库的操作,今天实现简单的增删改查,读之前请先移步到这里NodeJs 连接本地 mySql 数据库获取数据,避免后续一些代码出险阅读断层。 安装 nodemon npm install nodemon因为 nodejs 的服务是本地启动,避免后…

FPGA开发Vivado安装教程

前言 非常遗憾的一件事情是,在选修课程时我避开了FPGA,选择了其他方向的课程。然而,令我没有想到的是,通信项目设计的题目竟然使用FPGA,这简直是背刺。在仅有的半个月时间里,准备这个项目确实是非常紧张的…

高考英语3500词

DAY1 DAY2 DAY3 DAY4 DAY5 DAY6 DAY7 DAY8 DAY9 DAY10 DAY11 DAY12 DAY13 DAY14 DAY15 DAY16 DAY17 DAY18 DAY19 DAY20 DAY21 DAY22 DAY23 DAY24 DAY25 DAY26 DAY27 DAY28 DAY29 DAY30 DAY31 DAY32 DAY33 DAY34 DAY35 DAY36 DAY37 DAY38 DAY39 DAY40

网络配置(IP、NETMASK、GATEWAY、DNS、DHCP)

参考: 初学Linux之网络配置(IP、NETMASK、GATEWAY、DNS、DHCP)-CSDN博客【学习笔记】网关 & 路由_网关和路由-CSDN博客【学习笔记】计算机网络 IP地址与MAC地址_根据mac分配ip-CSDN博客【学习笔记】TCP 和 UDP 协议_tcp 发送 syn 应答没有syn ack-CSDN博客 一…

java版CRM客户关系管理系统Spring Cloud alibaba Spring Boot成长型企业必备的客户关系管理系统

鸿鹄CRM客户关系管理系统是一款基于Java语言开发的CRM系统,采用了Spring Cloud Alibaba、Spring Boot、MybatisPlus、Redis和VUE3 ElementUI等技术,构建了一个微服务架构。该系统具有以下功能模块: 一、待办事项 1、今日需联系客户&#xf…

实在RPA的硬件交互功能:U盾机械臂组件

一、为什么需要U盾机械臂? 在使用银行U盾(USB Key)进行操作时,涉及到许多手动确认步骤,特别是按下U盾上的确认按键。这种手动操作是自动化过程中的一个瓶颈。为了实现完全自动化,需要一种方法来自动按下U…

接口测试中遇到的sessionID验证问题

在接口测试中,经常会存在联调的接口,比如登录完去调用其他的接口,这时就会存在一个问题,那就是登录成功了,但是其他接口失败了,这个时候就需要用到一个sessionID去传入其他接口验证合法性请求,这…

Matlab进阶绘图第61期—滑珠散点图

滑珠散点图也是一种在《Nature》中常见的数据图。 其功能类似于柱状图,但更加简洁易读。 由于Matlab中没有现成的函数绘制滑珠散点图,因此需要大家自行解决。 本文利用自己制作的BubbleScatter工具,进行滑珠散点图的绘制,先来看…

ServBay[中文] 下一代Web开发环境

ServBay是一个集成式、图形化的本地化Web开发环境。开发者通过ServBay几分钟就能部署一个本地化的开发环境。解决了Web开发者(比如PHP、Nodejs)、测试工程师、小型团队安装和维护开发测试环境的问题,同时可以快速的进行环境的升级以及维护。S…

Chrome开发者工具学习

打开开发者工具: 可以通过在网页上点击右键并选择“检查”来打开。 或者使用快捷键Ctrl Shift I(在Windows/Linux上)或Command Option I(在Mac上)。 界面概览: 熟悉DevTools的基本面板,如“…

【精品案例】数字孪生技术与数字工厂案例(59页PPT)

引言:随着工业4.0和智能制造的快速发展,数字孪生技术和数字工厂已成为制造业转型升级的重要趋势。数字孪生技术通过构建虚拟的数字模型,实现对物理实体全生命周期的映射与仿真,为企业的产品研发、设计、制造等提供有力支持。而数字…

【AI大模型应用开发】3. RAG初探 - 动手实现一个最简单的RAG应用

0. 什么是RAG 大模型也不是万能的,也有局限性。 LLM 的知识不是实时的LLM 可能不知道你私有的领域/业务知识 RAG(Retrieval Augmented Generation)顾名思义:通过检索的方法来增强生成模型的能力。你可以把这个过程想象成开卷考…

MATLAB算法实战应用案例精讲-【数模应用】线性判别分析(附MATLAB、python和R语言代码实现)

目录 前言 算法原理 什么是判别分析 线性判别分析(LDA) 数学模型 二分类 多分类LDA ​编辑 算法思想: 费歇(FISHER)判别思想 贝叶斯(BAYES)判别思想 LDA算法流程 LDA与PCA对比 SPSSPRO 1、作用 2、输入输出描述 3、案例示例 4、案例数据 5、案例操作 …

VC++开发积累——vc++6.0中删除函数的方法,右键,Delete

目录 引出插曲:删除函数的方法多行注释的实现代码输入的自动提示搜索出来,标记和取消标记跳转到上一步的位置 ctrl TAB 总结其他规范和帮助文档创建第一个Qt程序对象树概念信号signal槽slot自定义信号和槽1.自定义信号2.自定义槽3.建立连接4.进行触发 自…

DM达梦数据库字符串函数整理

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…