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

news2024/7/4 4:45:06
📣📣📣
哈喽!大家好,本专栏主要发表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=disabled

setenforce 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=1



yum -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/mysql

cmake . -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.cnf

Cd /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 = 32M

query_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=4M

back_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.err

log_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_DIRECT

innodb_log_file_size = 200M
innodb_log_files_in_group = 2 
innodb_log_buffer_size = 16M

innodb_undo_logs = 128
innodb_undo_tablespaces = 3
innodb_undo_log_truncate = 1
innodb_max_undo_log_size = 2G

innodb_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: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.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_DIRECT

innodb_log_file_size = 200M #innodb 日志文件200M一个
innodb_log_files_in_group = 2  #有两组innodb日志文件
innodb_log_buffer_size = 16M #日志文件缓存16M

innodb_undo_logs = 128 #undo128个段
innodb_undo_tablespaces = 3 #表空间3个,写满自动回收
innodb_undo_log_truncate = 1 #1代表自动清理
innodb_max_undo_log_size = 2G #最大日志2G

innodb_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 mysql

vi 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/mysql

Id mysql
Userdel mysql
Groupdel mysql

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

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

相关文章

单体架构改造为微服务架构之痛点解析

1.微服务职责划分之痛 1.1 痛点描述 微服务的难点在于无法对一些特定职责进行清晰划分,比如某个特定职责应该归属于服务A还是服务B? 1.2 为服务划分原则的痛点 1.2.1 根据存放主要数据的服务所在进行划分 比如一个能根据商品ID找出商品信息的接口,把…

Redis持久化(RDB、AOF)详解

Redis持久化详解 一、Redis为什么需要持久化? Redis 是一个基于内存的数据库,拥有极高的读写性能,但是内存中的数据在断电或服务器重启时会全部丢失,因此需要一种持久化机制来将数据保存到硬盘上,以便在需要时进行恢复…

R语言数据分析案例34-基于ARIMA模型的武汉市房价趋势与预测研究

一、背景阐述 房地产行业对于国民经济和社会及居民的发展和生活具有很大的影响,而房价能够体现经济运转的好坏,因而房价的波动牵动着开发商和购房者的关注,城市房价预测是一个研究的热点问题,研究房价对民生问题具有重要意义。 …

【面试干货】Java中的++操作符与线程安全性

【面试干货】Java中的操作符与线程安全性 1、什么是线程安全性?2、 操作符的工作原理3、 操作符与线程安全性4、如何确保线程安全?5、 结论 💖The Begin💖点点关注,收藏不迷路💖 在Java编程中,操…

思维导图MindManager2024最新版,让你的思维飞起来!

亲爱的朋友们,今天我要跟大家分享一款我近期深度使用并彻底被种草的神器——MindManager2024最新版本的思维导图软件。作为一位对效率和创意有着极高追求的内容创作者,我几乎尝试过市面上所有的思维导图工具,而MindManager2024无疑是其中的佼…

跟着DW学习大语言模型-什么是知识库,如何构建知识库

建立一个高效的知识库对于个人和组织来说非常重要。无论是为了个人学习和成长,还是为了组织的持续创新和发展,一个完善的知识管理系统都是不可或缺的。那么,如何建立一个高效的知识库呢? 在建立知识库之前,首先需要确定…

【办公类-51-01】月评估数字生成01-平均数空值

期末需要制作月评估,每月给孩子的能力水平打分。 以前我是做在EXCEL里,手动打分,然后用公式计算1、2、3出现的个数,然后计算平均数,最后复制到Word里。 因为是手动计算,每次都要算很长时间,确保…

借助TheGraph 查询ENS信息

关于ENS (以太坊域名服务) ENS 全称是 Ethereum Name Service,它是一个建立在以太坊区块链上的去中心化域名系统。 ENS 在 Web3 领域发挥着重要作用,主要有以下几个方面: 可读性更好的地址: ENS 允许用户将复杂的以太坊地址(如 0x12345…) 映射为更简单易记的域名。这极大地提…

KUBIKOS - Animated Cube Mini BIRDS(卡通立方体鸟类)

软件包中添加了对通用渲染管线 (URP) 的支持! KUBIKOS - 动画立方体迷你鸟是17种不同的可爱低多边形移动友好鸟的集合!每只都有自己的动画集。 完美收藏你的游戏! +17种不同的动物! + 低多边形(400~900个三角形) + 操纵和动画! + 4096x4096 纹理图集 + Mecanim 准备就绪…

生命在于学习——Python人工智能原理(4.3)

三、Python的数据类型 3.1 python的基本数据类型 3.1.4 布尔值(bool) 在Python中,布尔值是表示真或假的数据类型,有两个取值,True和False,布尔值常用于控制流程、条件判断和逻辑运算,本质上来…

项目实训-接口测试(十八)

项目实训-后端接口测试(十八) 文章目录 项目实训-后端接口测试(十八)1.概述2.测试对象3.测试一4.测试二 1.概述 本篇博客将记录我在后端接口测试中的工作。 2.测试对象 3.测试一 这段代码是一个单元测试方法,用于验证…

idea 开发工具properties文件中的中文不显示

用idea打开一个项目,配置文件propertise中的中文都不展示,如图: 可修改idea配置让中文显示: 勾选箭头指向的框即可,点击应用保存,重新打开配置文件,显示正常

篮球联盟管理系统

管理员账户功能包括:系统首页,个人中心,管理员管理,球员管理,用户管理,球队管理,论坛管理,篮球资讯管理,基础数据管理 前台账户功能包括:系统首页&#xff0…

Cell2Sentence:为LLM传输生物语言

像GPT这样的LLM在自然语言任务上表现出了令人印象深刻的性能。这里介绍一种新的方法,通过将基因表达数据表示为文本,让这些预训练的模型直接适应生物背景,特别是单细胞转录组学。具体来说,Cell2Sentence将每个细胞的基因表达谱转换…

前端架构(含演进历程、设计内容、AI辅助设计、架构演进历程)

前端架构的演进历程 前端架构师的必要条件 全面的技术底蕴全局观(近期 远期)业务要有非常深刻的理解沟通协调能力和团队意识深刻理解前端架构的原则和模式 前端架构的设计内容 技术选型(库、工具、标准规范、性能、安全、扩展性 )设计模式及代码组织(模…

ADS SIPro使用技巧之RapidScan-Z0

PCB走线的阻抗对每个网络的信号完整性至关重要,但是,验证每个信号是不切实际的,尤其对于设计复杂度很高的产品而言,设计者的有限精力只能用于关注关键的设计点,这一过程往往会造成一些设计的疏忽从而导致错误。 ADS SI…

97. 交错字符串(leetcode)

97. 交错字符串(leetcode) 题目描述 给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串: s s1 …

图书管理系统(详解版 附源码)

目录 项目分析 实现页面 功能描述 页面预览 准备工作 数据准备 创建数据库 用户表 创建项目 导入前端页面 测试前端页面 后端代码实现 项目公共模块 实体类 公共层 统一结果返回 统一异常处理 业务实现 持久层 用户登录 用户注册 密码加密验证 添加图书…

串口小工具(来源网络,源码修改)

从CSDN 中的一位博主的分享做了一些修改 QtSerial 的配和更稳定些 信号和槽 … … 更不容易崩 # This Python file uses the following encoding: utf-8 import sys import timefrom PySide6.QtGui import QIcon, QTextCursor from PySide6.QtWidgets import QApplication, QWi…

【PyQt5】一文向您详细介绍 layout.addWidget() 的作用

【PyQt5】一文向您详细介绍 layout.addWidget() 的作用 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本…