• 第二十五章 Centos7下二进制安装Mysql-5.7.34


    一、创建软件存放目录

    (base) [root@mcmanager ~]# mkdir -p /data/software/
    (base) [root@mcmanager ~]# cd /data/software/
    

    二、下载软件包

    #1.下载软件包
    (base) [root@mcmanager software]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
    
    #2.查看软件包
    (base) [root@mcmanager software]# ll
    total 5142828
    -rw-r--r-- 1 root root   665389778 Mar 26 14:43 mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
    

    三、安装依赖

    (base) [root@mcmanager software]# yum install -y ncurses-devel libaio-devel gcc gcc-c++ glibc cmake autoconf
    

    四、解压安装包

    (base) [root@mcmanager software]# tar xf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
    

    五、移动并重命名

    (base) [root@mcmanager software]# mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql-5.7.34
    (base) [root@mcmanager software]# cd /usr/local/
    

    六、做软连接

    (base) [root@mcmanager local]# ln -s /usr/local/mysql-5.7.34 /usr/local/mysql
    
    (base) [root@mcmanager local]# ll
    total 64
    lrwxrwxrwx   1 root root   23 Sep 15 10:03 mysql -> /usr/local/mysql-5.7.34
    drwxr-xr-x   9 root root 4096 Sep 15 09:53 mysql-5.7.34
    

    七、创建数据库用户

    (base) [root@mcmanager local]# useradd mysql -s /sbin/nologin -M
    

    八、配置Mysql并创建相关目录

    1.配置mysql
    (base) [root@mcmanager local]# vim /etc/my.cnf
    
    [client]
    # mysql默认密码
    #password=88888888
    
    # mysql以socket方式运行的sock文件位置
    socket=/data/mysql-5.7.34/var/mysql/mysql.sock  
      
    [mysqld_safe]  
    # 进程pid文件
    pid-file=/data/mysql-5.7.34/var/mysql/mysqld.pid
    
    # 错误日志位置
    log-error = /data/mysql-5.7.34/log/mysql-error.log  
      
    [mysql]
    # mysql以socket方式运行的sock文件位置
    socket=/data/mysql-5.7.34/var/mysql/mysql.sock  
      
    [mysqld]
    # mysql程序运行用户
    user = mysql
    
    # mysql端口号
    port =  3306 
    
    # mysql的数据目录
    datadir = /data/mysql-5.7.34/var/mysql
    
    # mysql以socket方式运行的sock文件位置
    socket=/data/mysql-5.7.34/var/mysql/mysql.sock  
    
    # 是否支持符号链接,即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录,为0不开启
    symbolic-links=0
    
    ########basic settings########  
    # mysql的服务器分配id,在启用主从和集群的时候必须指定,每个节点必须不同
    server-id = 11  
    
    # mysql监听的ip地址,如果是127.0.0.1,表示仅本机访问
    #bind_address = 10.166.224.32
    
    # 数据修改是否自动提交,为0不自动提交
    autocommit = 1
    
    # 服务器使用的字符集
    character_set_server=utf8mb4
    
    # 禁用DNS主机名查找,启用以后用内网地址向mysqlslap请求响应快了一半
    skip_name_resolve = 1
    
    # mysql最大连接数
    max_connections = 800 
    
    # 某台host连接错误次数等于max_connect_errors(默认10) ,主机'host_name'再次尝试时被屏蔽。可有效反的防止dos攻击
    max_connect_errors = 100
    
    # 数据库事务隔离级别
    # 1.READ-UNCOMMITTED(读取未提交内容)级别
    # 2.READ-COMMITTED(读取提交内容)
    # 3.REPEATABLE-READ(可重读)
    # 4.SERIERLIZED(可串行化)
    # 默认级别REPEATABLE-READ
    transaction_isolation = READ-COMMITTED 
    
    # mysql中TIMESTAMP类型和其他的类型有点不一样(在没有设置explicit_defaults_for_timestamp=1的情况下)
    explicit_defaults_for_timestamp = 1 
    
    # 当我们的join是ALL,index,rang或者Index_merge的时候使用的buffer。 实际上这种join被称为FULL JOIN
    join_buffer_size = 128M 
    
    # 规定了内部内存临时表的最大值,每个线程都要分配。(实际起限制作用的是tmp_table_size和max_heap_table_size的最小值。)如果内存临时表超出了限制,MySQL就会自动地把它转化为基于磁盘的MyISAM表,存储在指定的tmpdir目录下
    tmp_table_size = 128M  
    
    # 保存临时文件的目录
    tmpdir = /dev/shm 
    
    # mysql最大接受的数据包大小
    max_allowed_packet = 16M
    
    # sql_mode 模式,定义了你MySQL应该支持的sql语法,对数据的校验等等,限制一些所谓的‘不合法’的操作
    sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"  
    
    # 服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端
    interactive_timeout = 60  
    
    # 服务器关闭非交互连接之前等待活动的秒数,在线程启动时,根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义)
    wait_timeout = 60  
    
    # 读入缓冲区的大小,将对表进行顺序扫描的请求将分配一个读入缓冲区,MySQL会为它分配一段内存缓冲区
    read_buffer_size = 16M  
    
    # 随机读缓冲区大小,当按任意顺序读取行时(列如按照排序顺序)将分配一个随机读取缓冲区,进行排序查询时,MySQL会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度
    read_rnd_buffer_size = 32M  
    
    # 是一个connection级参数,在每个connection第一次需要使用这个buffer的时候,一次性分配设置的内存
    sort_buffer_size = 32M  
    
    ########log settings########
    # mysql错误日志位置
    #log_error = /data/mysql-5.7.34/log/mysql-error.log 
    
    # 是否开启慢查询日志收集
    slow_query_log = 1  
    
    # 慢查询日志位置
    slow_query_log_file = /data/mysql-5.7.34/log/mysql-slow.log 
    
    # 是否记录未使用索引的语句
    log_queries_not_using_indexes = 1 
    
    # 慢查询也记录那些慢的optimize table,analyze table和alter table语句
    log_slow_admin_statements = 1  
    
    # 记录由Slave所产生的慢查询
    log_slow_slave_statements = 1
    
    # 设定每分钟记录到日志的未使用索引的语句数目,超过这个数目后只记录语句数量和花费的总时间
    log_throttle_queries_not_using_indexes = 10  
    
    # 日志自动过期清理天数
    expire_logs_days = 90
    
    # 设置记录慢查询超时时间
    long_query_time = 1
    
    # 查询检查返回少于该参数指定行的SQL不被记录到慢查询日志
    min_examined_row_limit = 100  
    
    ########replication settings########
    # 从机保存主节点信息方式,设成file时 会生成master.info 和 relay-log.info2个文件,设成table,信息就会存在mysql.master_slave_info表中。不管是设置的哪种值,都不要移动或者编辑相关的文件和表
    #master_info_repository = TABLE 
    
    # 用于保存slave读取relay log的位置信息,可选值为“FILE”、“TABLE”,以便crash重启后继续恢复
    #relay_log_info_repository = TABLE  
    
    # binlog的保存位置,不能指定确定的文件名如mysql-bin.log,只能指定位置和前缀,会生成以前缀为开头的一系列文件
    log_bin = /data/mysql-5.7.34/log/mysql-bin 
    
    # 这个参数是对于MySQL系统来说是至关重要的,他不仅影响到Binlog对MySQL所带来的性能损耗,而且还影响到MySQL中数据的完整性。对于“sync_binlog”参数的各种设置的说明如下:
    # sync_binlog=0,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem自行决定什么时候来做同步,或者cache满了之后才同步到磁盘。
    # sync_binlog=n,当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。
    # 在MySQL中系统默认的设置是sync_binlog=0,也就是不做任何强制性的磁盘刷新指令,这时候的性能是最好的,但是风险也是最大的。因为一旦系统Crash,在binlog_cache中的所有binlog信息都会被丢失。而当设置为“1”的时候,是最安全但是性能损耗最大的设置。因为当设置为1的时候,即使系统Crash,也最多丢失binlog_cache中未完成的一个事务,对实际数据没有任何实质性影响。从以往经验和相关测试来看,对于高并发事务的系统来说,“sync_binlog”设置为0和设置为1的系统写入性能差距可能高达5倍甚至更多。
    #sync_binlog = 4  
    
    # 启用gtid类型,否则就是普通的复制架构
    gtid_mode = on 
    
    # 强制GTID的一致性
    enforce_gtid_consistency = 1 
    
    # slave更新是否记入日志,在做双主架构时异常重要,影响到双主架构是否能互相同步
    #log_slave_updates  
    
    # binlog日志格式,可选值“MIXED”、“ROW”、“STATEMENT”,在5.6版本之前默认为“STATEMENT”,5.6之后默认为“MIXED”;因为“STATEMENT”方式在处理一些“不确定”性的方法时会造成数据不一致问题,我们建议使用“MIXED”或者“ROW”
    binlog_format = row 
    
    # 从机保存同步中继日志的位置
    #relay_log = /data/mysql-5.7.34/log/mysql-relay.log  
    
    # 当slave从库宕机后,假如relay-log损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的relay-log,并且重新从master上获取日志,这样就保证了relay-log的完整性
    #relay_log_recovery = 1  
    
    # 这个参数控制了当mysql启动或重启时,mysql在搜寻GTID时是如何迭代使用binlog文件的。 这个选项设置为真,会提升mysql执行恢复的性能。因为这样mysql-server启动和binlog日志清理更快
    #binlog_gtid_simple_recovery = 1 
    
    # 过指定error no类型的错误,设成all 跳过所有错误
    #slave_skip_errors = ddl_exist_errors 
    
    ########innodb settings######## 
    # nodb每个数据页大小,这个参数在一开始初始化时就要加入my.cnf里,如果已经创建了表,再修改,启动MySQL会报错
    innodb_page_size = 16K 
    
    # 缓存innodb表的索引,数据,插入数据时的缓冲,专用mysql服务器设置的大小: 操作系统内存的70%-80%最佳
    innodb_buffer_pool_size = 4G 
    
    # 可以开启多个内存缓冲池,把需要缓冲的数据hash到不同的缓冲池中,这样可以并行的内存读写
    #innodb_buffer_pool_instances = 8  
    
    # 默认为关闭OFF。如果开启该参数,启动MySQL服务时,MySQL将本地热数据加载到InnoDB缓冲池中
    #innodb_buffer_pool_load_at_startup = 1
    
    # 默认为关闭OFF。如果开启该参数,停止MySQL服务时,InnoDB将InnoDB缓冲池中的热数据保存到本地硬盘
    #innodb_buffer_pool_dump_at_shutdown = 1  
    
    # 根据 官方文档 描述,它会影响page cleaner线程每次刷脏页的数量, 这是一个每1秒 loop一次的线程
    #innodb_lru_scan_depth = 2000  
    
    # 事务等待获取资源等待的最长时间,超过这个时间还未分配到资源则会返回应用失败;参数的时间单位是秒
    innodb_lock_wait_timeout = 5 
    
    # 这两个设置会影响InnoDB每秒在后台执行多少操作. 大多数写IO(除了写InnoDB日志)是后台操作的. 如果你深度了解硬件性能(如每秒可以执行多少次IO操作),则使用这些功能是很可取的,而不是让它闲着
    #innodb_io_capacity = 4000  
    #innodb_io_capacity_max = 8000 
    
    # 默认值为 fdatasync. 如果使用 硬件RAID磁盘控制器, 可能需要设置为 O_DIRECT. 这在读取InnoDB缓冲池时可防止“双缓冲(double buffering)”效应,否则会在文件系统缓存与InnoDB缓存间形成2个副本(copy). 如果不使用硬件RAID控制器,或者使用SAN存储时, O_DIRECT 可能会导致性能下降
    #innodb_flush_method = O_DIRECT  
    
    # innodb重做日志保存目录
    #innodb_log_group_home_dir = /data/local/mysql-5.7.34/log/redolog/  
    
    # innodb回滚日志保存目录
    #innodb_undo_directory = /data/local/mysql-5.7.34/log/undolog/
    
    # undo回滚段的数量, 至少大于等于35,默认128
    #innodb_undo_logs = 128  
    
    # 用于设定创建的undo表空间的个数,在mysql_install_db时初始化后,就再也不能被改动了;默认值为0,表示不独立设置undo的tablespace,默认记录到ibdata中;否则,则在undo目录下创建这么多个undo文件,例如假定设置该值为4,那么就会创建命名为undo001~undo004的undo tablespace文件,每个文件的默认大小为10M。修改该值会导致Innodb无法完成初始化,数据库无法启动,但是另两个参数可以修改
    #innodb_undo_tablespaces = 0  
    
    # InnoDB存储引擎在刷新一个脏页时,会检测该页所在区(extent)的所有页,如果是脏页,那么一起刷新。这样做的好处是通过AIO可以将多个IO写操作合并为一个IO操作。对于传统机械硬盘建议使用,而对于固态硬盘可以关闭。
    #innodb_flush_neighbors = 1 
    
    # 这个值定义了日志文件的大小,innodb日志文件的作用是用来保存redo日志。一个事务对于数据或索引的修改往往对应到表空间中的随机的位置,因此当刷新这些修改到磁盘中就会引起随机的I/O,而随机的I/O往往比顺序的I/O更加昂贵的开销,因为随机的I/O需要更多的开销来定位到指定的位置。innodb使用日志来将随机的I/O转为顺序的I/O,只要日志文件是安全的,那么事务就是永久的,尽管这些改变还没有写到数据文件中,如果出现了当机或服务器断电的情况,那么innodb也可以通过日志文件来恢复以及提交的事务。但是日志文件是有一定的大小的,所以必须要把日志文件记录的改变写到数据文件中,innodb对于日志文件的操作是循环的,即当日志文件写满后,会将指针重新移动到文件开始的地方重新写,但是它不会覆盖那些还没有写到数据文件中的日志,因为这是唯一记录了事务持久化的记录
    # 如果对 Innodb 数据表有大量的写入操作,那么选择合适的 innodb_log_file_size 值对提升MySQL性能很重要。然而设置太大了,就会增加恢复的时间,因此在MySQL崩溃或者突然断电等情况会令MySQL服务器花很长时间来恢复
    #innodb_log_file_size = 4G 
    
    # 事务在内存中的缓冲。 分配原 则:控制在2-8M.这个值不用太多的。他里面的内存一般一秒钟写到磁盘一次
    #innodb_log_buffer_size = 16M  
    
    # 控制是否使用,使用几个独立purge线程(清除二进制日志)
    #innodb_purge_threads = 4  
    
    # mysql在5.6之前一直都是单列索引限制767,起因是256×3-1。这个3是字符最大占用空间(utf8)。但是在5.6以后,开始支持4个字节的uutf8。255×4>767, 于是增加了这个参数。这个参数默认值是OFF。当改为ON时,允许列索引最大达到3072
    innodb_large_prefix = 1  
    
    # InnoDB kernel并发最大的线程数。 1) 最少设置为(num_disks+num_cpus)*2。 2) 可以通过设置成1000来禁止这个限制
    innodb_thread_concurrency = 64  
    
    # 是否将死锁相关信息保存到MySQL 错误日志中
    #innodb_print_all_deadlocks = 1  
    
    # 开启InnoDB严格检查模式,尤其采用了页数据压缩功能后,最好是开启该功能。开启此功能后,当创建表(CREATE TABLE)、更改表(ALTER TABLE)和创建索引(CREATE INDEX)语句时,如果写法有错误,不会有警告信息,而是直接抛出错误,这样就可直接将问题扼杀在摇篮里
    #innodb_strict_mode = 1  
    
    # ORDER BY 或者GROUP BY 操作的buffer缓存大小
    innodb_sort_buffer_size = 64M  
    
    ########semi sync replication settings########  
    # 指定mysql的插件目录
    #plugin_dir=/data/local/mysql-5.7.34/lib/plugin
    
    # 指定载入哪些插件
    #plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
    
    # 控制主库上是否开启semisync
    #loose_rpl_semi_sync_master_enabled = 1
    
    # 控制备库是否开启semisync
    #loose_rpl_semi_sync_slave_enabled = 1
    
    # 单位毫秒,防止半同步复制在没有收到确认的情况下,发送堵塞。master在超时之前没有收到确认,将恢复到异步复制,继续执行半同步没有进行的操作
    #loose_rpl_semi_sync_master_timeout = 5000
    
    [mysqld-5.7]
    # 表示转储每个bp instance LRU上最热的page的百分比。通过设置该参数可以减少转储的page数
    #innodb_buffer_pool_dump_pct = 40
    
    #为了提升扩展性和刷脏效率,在5.7.4版本里引入了多个page cleaner线程。从而达到并行刷脏的效果.在该版本中,Page cleaner并未和buffer pool绑定,其模型为一个协调线程 + 多个工作线程,协调线程本身也是工作线程。因此如果innodb_page_cleaners设置为8,那么就是一个协调线程,加7个工作线程
    innodb_page_cleaners = 4
    
    # 是否开启在线回收(收缩)undo log日志文件,支持动态设置
    #innodb_undo_log_truncate = 1
    
    # 当超过这个阀值(默认是1G),会触发truncate回收(收缩)动作,truncate后空间缩小到10M
    #innodb_max_undo_log_size = 2G
    
    # 控制回收(收缩)undo log的频率。undo log空间在它的回滚段没有得到释放之前不会收缩, 想要增加释放回滚区间的频率,就得降低设定值
    #innodb_purge_rseg_truncate_frequency = 128
    
    # 这个参数控制了当mysql启动或重启时,mysql在搜寻GTIDs时是如何迭代使用binlog文件的。 这个选项设置为真,会提升mysql执行恢复的性能。因为这样mysql-server启动和binlog日志清理更快。该参数为真时,mysql-server只需打开最老的和最新的这2个binlog文件
    #binlog_gtid_simple_recovery=1
    
    # 在MySQL 5.7.2 新增了 log_timestamps 这个参数,该参数主要是控制 error log、genera log,等等记录日志的显示时间参数。 在 5.7.2 之后改参数为默认 UTC 这样会导致日志中记录的时间比中国这边的慢,导致查看日志不方便。修改为 SYSTEM 就能解决问题
    log_timestamps=system
    
    # 这个神奇的参数5.7.6版本引入,用于定义一个记录事务的算法,这个算法使用hash标识来记录事务。如果使用MGR,那么这个hash值需要用于分布式冲突检测何处理,在64位的系统,官网建议设置该参数使用 XXHASH64 算法。如果线上并没有使用该功能,应该设为off
    #transaction_write_set_extraction=MURMUR32
    
    # 从mysql5.7.6开始information_schema.global_status已经开始被舍弃,为了兼容性,此时需要打开 show_compatibility_56
    #show_compatibility_56=on
    
    #2.创建程序目录
    (base) [root@mcmanager local]# mkdir -p /data/mysql-5.7.34/var/mysql/
    (base) [root@mcmanager local]# mkdir -p /data/mysql-5.7.34/log
    (base) [root@mcmanager local]# chown  -R mysql.mysql /data/mysql-5.7.34/
    

    九、拷贝启动脚本

    (base) [root@mcmanager local]# cd /usr/local/mysql/support-files/
    (base) [root@mcmanager support-files]# cp mysql.server /etc/init.d/mysqld
    

    十、初始化数据库

    (base) [root@mcmanager support-files]# cd /usr/local/mysql/bin
    
    (base) [root@mcmanager bin]# ./mysqld --initialize  --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql-5.7.34/var/mysql
        --user:指定用户
        --basedir:指定mysql的安装目录
        --datadir:指定MySQL的数据目录
    2021-09-15T10:58:38.887163+08:00 0 [Warning] InnoDB: New log files created, LSN=45790
    2021-09-15T10:58:39.016162+08:00 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2021-09-15T10:58:39.089818+08:00 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: d3b54d8d-15d0-11ec-bd55-00163e008d79.
    2021-09-15T10:58:39.092037+08:00 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2021-09-15T10:58:40.055581+08:00 0 [Warning] CA certificate ca.pem is self signed.
    2021-09-15T10:58:40.218610+08:00 1 [Note] A temporary password is generated for root@localhost: eq>;z9dtrypW
    

    十一、配置system管理MySQL服务

    #1.配置system管理MySQL
    (base) [root@mcmanager bin]# vim /usr/lib/systemd/system/mysql.service
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    [Install]
    WantedBy=multi-user.target
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000      
    
    #2.重新加载启动文件列表
    (base) [root@mcmanager bin]# systemctl daemon-reload
    
    #3.system管理启动MySQL
    (base) [root@mcmanager bin]# systemctl  start mysql
    (base) [root@mcmanager bin]# systemctl  status  mysql
    ● mysql.service - MySQL Server
       Loaded: loaded (/usr/lib/systemd/system/mysql.service; disabled; vendor preset: disabled)
       Active: active (running) since Wed 2021-09-15 11:17:56 CST; 4s ago
         Docs: man:mysqld(8)
               https://dev.mysql.com/doc/refman/en/using-systemd.html
     Main PID: 6750 (mysqld)
        Tasks: 31
       CGroup: /system.slice/mysql.service
               └─6750 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    
    Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.847772+08:00 0 [Warning] CA certificate ca.pem is self signed.
    Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.847851+08:00 0 [Note] Skipping generation of RSA key pair as key fi...ectory.
    Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.848035+08:00 0 [Note] Server hostname (bind-address): '*'; port: 3306
    Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.848100+08:00 0 [Note] IPv6 is available.
    Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.848117+08:00 0 [Note]   - '::' resolves to '::';
    Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.848143+08:00 0 [Note] Server socket created on IP: '::'.
    Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.873704+08:00 0 [Note] Failed to start slave threads for channel ''
    Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.879663+08:00 0 [Note] Event Scheduler: Loaded 0 events
    Sep 15 11:17:57 mcmanager mysqld[6750]: 2021-09-15T11:17:57.879858+08:00 0 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
    Sep 15 11:17:57 mcmanager mysqld[6750]: Version: '5.7.34-log'  socket: '/data/mysql-5.7.34/var/mysql/mysql.sock'  port: 3306  M...r (GPL)
    Hint: Some lines were ellipsized, use -l to show in full.
    
    #4.查看mysql服务进程和端口
    (base) [root@mcmanager bin]# ps -ef | grep [m]ysql
    mysql     6750     1  1 11:17 ?        00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    (base) [root@mcmanager bin]# netstat -lntp | grep 3306
    tcp6       0      0 :::3306                 :::*                    LISTEN      6750/mysqld
    

    十二、配置环境变量

    #1.配置环境变量直接使用mysql
    (base) [root@mcmanager bin]#  vim /etc/profile.d/mysql.sh
    export PATH=/usr/local/mysql/bin:$PATH                                                                     
    
    #2.刷新环境变量
    (base) [root@mcmanager bin]# source /etc/profile
    

    十三、登录数据库

    #1.登录数据库
    [root@mcmanager ~]# mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 798
    Server version: 5.7.34-log
    
    Copyright (c) 2000, 2021, Oracle and/or its affiliates.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> 
    
    #2.修改数据库密码
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '************';
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> update user set password=password("密码") where user="用户名";
    Query OK, 4 rows affected (0.01 sec)
    
    #3.授权root远程主机访问
    mysql> create user 'root'@'%' identified by '************';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> grant all privileges on *.* to 'root'@'%' with grant option;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
  • 相关阅读:
    缓存
    json集合取值
    四个div块点击某个突出显示
    table获取某一列的td
    鼠标悬浮tr追加背景颜色
    jquery弹出层
    面试题
    表单校验及正则表达式
    jquery操作DOM
    jquery的事件与动画
  • 原文地址:https://www.cnblogs.com/jhno1/p/15324360.html
Copyright © 2020-2023  润新知