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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue+three.js渲染3D模型

安装three.js: npm install three 页面部分代码&#xff1a; <div style"width: 100%; height: 300px; position: relative;"><div style"height: 200px; background-color: white; width: 100%; position: absolute; top: 0;"><div id&…

大学网页制作作品1

作品须知&#xff1a;1.该网页作品预计分为5个页面&#xff08;其中1个登录页面&#xff0c;1个首页主页面&#xff0c;3个分页面&#xff09;&#xff0c;如需要可自行删改增加页面。&#xff08;总共约800行html,1200行css,100行js&#xff09; 2.此网页源代码只用于学习和模…

宣告 adsb.exposed - 基于 ClickHouse 的 ADS-B 航班数据交互式可视化和分析

本文字数&#xff1a;10340&#xff1b;估计阅读时间&#xff1a;26 分钟 审校&#xff1a;庄晓东&#xff08;魏庄&#xff09; 本文在公众号【ClickHouseInc】首发 Meetup活动 ClickHouse 上海首届 Meetup 讲师招募中&#xff0c;欢迎讲师在文末扫码报名&#xff01; 也许你已…

秒空!西圣Mike无线麦克风新晋断货王!引爆抢购潮,618全平台售罄

在数字音频技术飞速发展的今天&#xff0c;一款能够满足专业需求同时兼具高性价比的无线麦克风无疑是市场上的稀缺品。自西圣Mike无线麦克风上市以来&#xff0c;凭借其卓越的机皇性能和百元的亲民价格&#xff0c;迅速在消费者中引起轰动&#xff0c;连月斩获99%高好评&#x…

让我们聊聊网络安全中会涉及到的IP地址(IP协议)、MAC地址、路由、DNS协议(域名系统)、NAT技术(协议)、以太网帧、ARP协议

网络安全中会涉及到的IP地址&#xff08;IP协议&#xff09;、MAC地址、路由、DNS协议&#xff08;域名系统&#xff09;、NAT技术&#xff08;协议&#xff09;、以太网帧、ARP协议 一.IP地址&#xff08;IP协议&#xff09;1.IP地址&#xff08;IP协议&#xff09;的作用2.IP…

使用多用户增强服务器的安全性

Fedora CoreOS 操作系统 (简称 fcos) 的主要设计目标, 是大规模服务器集群 (几十台甚至数百台). 对于窝等穷人这种只有一台主机 (或者两三台) 的情况, 还是需要稍稍改造 (配置) 一下, 才能比较舒服的使用. 比如, 默认 SSH 登录使用 core 用户, 这个用户可以无需密码使用 sudo …

python根据excel的文件创建文件夹

这几天要整理一点文档&#xff0c;需要批量生成一些文件夹&#xff0c;&#xff08;其实也可以进一步自动生成各种文档&#xff09;&#xff0c;用到了py的功能&#xff0c;在此记录一下。 1.准备工作 需要两个库支持openpyxl和os 安装 pip install openpyxl2.代码思路 打算…

初识Java(二)

初识Java的main方法 1.1 main方法示例 public class world {public static void main(String[] args) {System.out.println("hello,world!");}}通过上述代码&#xff0c;我们可以看到一个完整的Java程序的结构&#xff0c;Java程序的结构由如下三个部分组成&#x…

攻击者开始使用 XLL 文件进行攻击

近期&#xff0c;研究人员发现使用恶意 Microsoft Excel 加载项&#xff08;XLL&#xff09;文件发起攻击的行动有所增加&#xff0c;这项技术的 MITRE ATT&CK 技术项编号为 T1137.006。 这些加载项都是为了使用户能够利用高性能函数&#xff0c;为 Excel 工作表提供 API …

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

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

数据处理技术影响皮质-皮质间诱发电位的量化

摘要 皮质-皮质间诱发电位(CCEPs)是探究颅内人体电生理学中有效连接性的常用工具。与所有人体电生理学数据一样&#xff0c;CCEP数据极易受到噪声的影响。为了解决噪声问题&#xff0c;通常会对CCEP数据进行滤波和重参考&#xff0c;但不同的研究会采用不同的处理策略。本研究…

Linux操作系统进程同步的几种方式及基本原理

1&#xff0c;进程同步的几种方式 1.1信号量 用于进程间传递信号的一个整数值。在信号量上只有三种操作可以进行&#xff1a;初始化&#xff0c;P操作和V操作&#xff0c;这三种操作都是原子操作。 P操作(递减操作)可以用于阻塞一个进程&#xff0c;V操作(增加操作)可以用于…

基于SpringBoot+Vue网上图书商城(带1w+文档)

基于SpringBootVue网上图书商城(带1w文档) 通过网上图书商城的研究可以更好地理解系统开发的意义&#xff0c;而且也有利于发展更多的智能系统&#xff0c;解决了人才的供给和需求的平衡问题&#xff0c;网上图书商城的开发建设&#xff0c;由于其开发周期短&#xff0c;维护方…

计算机网络课程实训:局域网方案设计与实现(基于ensp)

文章目录 前言基本要求操作分公司1分公司2总部核心交换机配置实现内部服务器的搭建acl_deny部分用户与服务器出口出口防火墙配置 前言 本篇文章是小编实训部分内容&#xff0c;内容可能会有错误&#xff0c;另外ensp对电脑兼容性及其挑剔&#xff0c;在使用之前一定要安装好。…

C++哈希表、哈希桶的实现以及模拟实现封装unordered_map 和 unordered_set 位图 布隆过滤器 哈希切割相关

文章目录 unordered系列关联式容器unordered_mapunordered_map的接口说明 unordered_setset 与 unordered_set的效率比较 底层结构哈希概念哈希冲突哈希函数常见哈希函数哈希冲突解决闭散列 —— 开放定址法哈希表的插入线性探测二次探测 哈希表的闭散列实现哈希表的结构插入代…

面试-synchronized(java5以前唯一)和ReentrantLock的区别

1.ReentrantLock&#xff08;再入锁&#xff09;&#xff1a; (1).在java.util.concurrent.locks包 (2).和CountDownLatch,FutureTask,Semaphore一样基于AQS实现。 AQS:AbstractQueuedSynchronizer 队列同步器。Java并发用来构建锁或其他同步主键的基础框架&#xff0c;是j.u.c…

运行时库链接方式实践指南(MT、MD、MTd、MDd)

前言 笔者曾经编译一个库提供给使用者&#xff0c;提供库后发现由于运行时库连接方式不一致&#xff0c;导致使用者无法连接笔者提供的库。另一方面&#xff0c;理解和选择正确的运行时链接方式对于构建高效、可靠的应用程序至关重要。 因此&#xff0c;本文将展开运行时库的基…

如何写好AI绘画提示词?保姆级教程来了!

前言 提示词编辑是一个结构化的过程&#xff0c;用能被人类解释和理解的词语来描述图像&#xff0c;也就是告诉人工智能模型应该怎么绘制图片。 生成优质图像的秘诀 1.提示词要想编辑好&#xff0c;包括修饰词和好的句子结构&#xff0c;首先你要了解所有的修饰词类型。 2.St…

大模型日报|8 篇必读的大模型论文

大家好&#xff0c;今日必读的大模型论文来啦&#xff01; 1.M2Lingual&#xff1a;在大语言模型中加强多语言、多轮次的指令对齐 指令微调对于大语言模型&#xff08;LLM&#xff09;按照指令进行对齐至关重要。最近提出了许多有效的 IFT 数据集&#xff0c;但大多数数据集都…

HALCON-从入门到入门-提取小票上的斑点

测试效果 在一张超市小票上提取点阵数字 处理步骤解析 首先读取两张图&#xff0c;一张是小票的图片&#xff0c;一张是静脉的图片 为了让点阵数字提取更加困难&#xff0c;我们将两张图片合成到一起 read_image (ImageNoise, angio-part) crop_part (ImageNoise, ImagePart…