用Xshell登陆linux服务器,安装完mysql后,启动

用Xshell登陆linux服务器,安装完mysql后,启动,第1张

linux下如何启动/停止/重启mysql:

一、启动方式

1、使用linux命令service 启动:

service mysqld start

2、使用 mysqld 脚本启动:

/etc/inint.d/mysqld start

3、使用 safe_mysqld 启动:

safe_mysqld&

二、停止

1、使用 service 启动:

service mysqld stop

2、使用 mysqld 脚本启动:

/etc/inint.d/mysqld stop

3、 mysqladmin shutdown

三、重启

1、使用 service 启动:

service mysqld restart

2、使用 mysqld 脚本启动:

/etc/inint.d/mysqld restart

备注:查看mysql端口是否已经使用,使用netstat -anp 命令查看服务器端口使用情况。

第二部分,linux下重启mysql数据库的各种方法

1、通过rpm包安装的MySQL

代码示例:

service mysqld restart

/etc/inint.d/mysqld start

2、从源码包安装的MySQL

代码示例:

// linux关闭MySQL的命令

$mysql_dir/bin/mysqladmin -uroot -p shutdown

// linux启动MySQL的命令

$mysql_dir/bin/mysqld_safe &

其中mysql_dir为MySQL的安装目录,mysqladmin和mysqld_safe位于MySQL安装目录的bin目录下。

3、以上方法都无效时,通过强行命令:

代码示例:

killall mysqld #关闭mysql

我的服务器用的是小鸟云的,性价比高。挺不错的。

本文介绍 MySQL 8.0 shell 子模块 Util 的两个导入特性 importTable/import_table(JS和python 版本的命名差异)、importJson/import_json的使用方法。

其中 import_table 是通过传统 MySQL 协议来通信,Import_json 是通过 X 插件协议来通信。MySQL 一直以来提供导入文件 SQL 命令 load data infile(单线程)以及对应的可执行文件 mysqlimport(多线程)。

比如我导入 100W 行示例数据到表 ytt.tl1,花了 24 秒。这个已经是 MySQL 默认导入来的最快的。分析那我们现在看下 mysqlimport 工具的升级版,mysqlshell 的 util 工具集。

使用这两个工具之前,必须得临时开启 local_infile 选项。1. import_table建立 3306 端口的新连接我这里切换为 python 模式清空掉示例表 Ytt.tl1import_table 有两个参数,第一个参数定义导入文件的路径,第二个定义相关选项,比如导入的格式,并发的数量等。定义文件路径(参数1)定义选项(参数2)执行导入:只花了不到 17 秒,比传统 mysqlimport 快了不少。

我们上面指定了显式指定了字段分隔符,那有没有已经定义好的组合格式呢? 答案是有的,选项 dialect 可以指定以下格式:csv,tsv,json,csv-unix那么上面的导入,我们可以更简单,改下变量 y_options1 的定义导入时间差不多。这里要说明下,dialect 选项的优先级比较低,比如添加了'linesTerminatedBy':'\r\n', 则覆盖他自己的'\n'。

选项 diaelect 还有一个可选值为 json,可以直接把 json 结果导入到文档表里。比如我新建一张表 tl1_json重新定义文件以及导入选项。导入 JSON 数据速度也还可以,不到 24 秒。那导入 json 数据,就必须得提到以 X 插件协议通信的工具 import_json了。2. imort_json我们切换到 mysqlx 端口import_json 参数和 Import_table 参数类似,这里我改下选项我在手册上没有看到多线程的选项,所以单线程跑 35 秒慢了些。查看刚刚导入的数据import_json 不仅仅可以导入 Json 数据,更重要的是可以在 BSON 和 JSON 之间平滑的转换,有兴趣的同学可以去 TRY 下。

如果您觉得文本对您有帮助,请打赏,谢谢。

新建执行脚本:mysql_install.sh,并添加执行权限

#!/bin/bash

#zhouyihua V0.1 2021.07.08

#For centos 7.0

# add DNS

echo "----------  Add DNS  --------"

echo "nameserver 8.8.8.8" >>/etc/resolv.conf

#stop firewall

systemctl stop firewalld

if [ $? -ne 0 ]then

    echo "Firewall stop failed"

else

    echo "Firewall stop success"

fi

#download mysql yum source

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

#install mysql yum source

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

#enable 5.7

sed -i '21s/enabled=0/enabled=1/g' /etc/yum.repos.d/mysql-community.repo

sed -i '21s/enabled=0/enabled=1/g' /etc/yum.repos.d/mysql-community.repo

#disable 8.0

sed -i '28s/enabled=1/enabled=0/g' /etc/yum.repos.d/mysql-community.repo

#install mysql

yum -y remove mariadb-libs

yum install -y mysql-community-server

#config mysql

echo "-----------  Config my.cnf  ----------"

sed -i '/\[mysqld\]/a\lower_case_table_names=1' /etc/my.cnf

sed -i '/\[mysqld\]/a\skip-grant-tables' /etc/my.cnf

#start mysql

echo "----------  Starting mysql service  ----------"

systemctl start mysqld.service

mysql -uroot -p123456  <<EOF

    use mysql

    update mysql.user set authentication_string=password('Oracle1234!@#$') where user='root'

EOF

echo "----------  Annotation skip grant tables in my.cnf    ----------"

sed -i 's/skip-grant-tables/\#skip-grant-tables/g' /etc/my.cnf

echo "----------  Restart mysql service  ----------"

systemctl restart mysqld.service

echo "----------  Grant all privileges  ----------"

mysql -uroot -p'Oracle1234!@#$'    --connect-expired-password -e "alter user 'root'@'localhost' identified by 'Oracle1234!@#$'"

mysql -u root -p'Oracle1234!@#$'  <<EOF

    use mysql

    GRANT ALL PRIVILEGES ON *.* TO 'iam'@'%' IDENTIFIED BY 'Oracle1234!@#$'

EOF


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7638697.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存