首页 Mysql教程Mysql安装

Mysql经典入门教程

SQL语句

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

2 MySQL安装和基本使用

2.1 MySQL 介绍

Mysql安装插图

2.1.1 MySQL 历史

Mysql安装插图1

1979年:TcX公司 Monty Widenius,Unireg 1996年:发布MySQL1.0,Solaris版本,Linux版本 1999年:MySQL AB公司,瑞典 2003年:MySQL 5.0版本,提供视图、存储过程等功能 2008年:Sun 收购 2009年:Oracle收购sun 2009年:Monty成立MariaDB

2.2.2 MySQL系列
2.2.2.1 MySQL 的三大主要分支
  • mysql
  • mariadb
  • percona Server
2.2.2.2 官方网址

https://www.mysql.com/ http://mariadb.org/ https://www.percona.com

2.2.2.3 官方文档

https://dev.mysql.com/doc/ https://mariadb.com/kb/en/ https://www.percona.com/software/mysql-database/percona-server

2.2.2.4 版本演变

MySQL:5.1 –> 5.5 –> 5.6 –> 5.7 –>8.0 MariaDB:5.5 –>10.0–> 10.1 –> 10.2 –> 10.3 –> 10.4 –> 10.5

2.2.3 MYSQL的特性
  • 插件式存储引擎:也称为“表类型”,存储管理器有多种实现版本,功能和特性可能均略有差别;用户可根据需要灵活选择,Mysql5.5.5开始innoDB引擎是MYSQL默认引擎 MyISAM ==> Aria InnoDB ==> XtraDB
  • 单进程,多线程
  • 诸多扩展和新特性
  • 提供了较多测试组件
  • 开源

###

2.2 MySQL 安装

2.2.1 安装方式
  • 源代码:编译安装
  • 进制格式的程序包:展开至特定路径,并经过简单配置后即可使用
  • 程序包管理器管理的程序包
2.2.2 RPM包安装MySQL

CentOS 安装光盘 项目官方:https://downloads.mariadb.org/mariadb/repositories/ 国内镜像:https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/ https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/

CentOS 7 以上版:安装光盘直接提供 mariadb-server 服务器包 mariadb 客户端工具包

CentOS 6:

mysql-server 服务器包

mysql 客户端工具包

2.3 初始化脚本提高安全性

运行脚本:mysql_secure_installation

设置数据库管理员root口令
禁止root远程登录
删除anonymous用户帐号
删除test数据库

2.4 MySQL 组成

2.4.1 客户端程序
  • mysql: 交互式的CLI工具
  • mysqldump:备份工具,基于mysql协议向mysqld发起查询请求,并将查得的所有数据转换成insert等写操作语句保存文本文件中
  • mysqladmin:基于mysql协议管理mysqld
  • mysqlimport:数据导入工具
  • MyISAM存储引擎的管理工具:
  • myisamchk:检查MyISAM库
  • myisampack:打包MyISAM表,只读
2.4.2 服务器端程序
  • mysqld_safe
  • mysqld
  • mysqld_multi 多实例 ,示例:mysqld_multi –example
2.4.3 用户账号

mysql用户账号由两部分组成: ‘USERNAME’@’HOST‘ 说明: HOST限制此用户可通过哪些远程主机连接mysql服务器 支持使用通配符: % 匹配任意长度的任意字符 172.16.0.0/255.255.0.0 或 172.16.%.% _ 匹配任意单个字符

2.4.4 mysql 命令
2.4.4.1 mysql使用模式
  • 交互式模式: 可运行命令有两类: 客户端命令: \h, help \u,use \s,status !,system 服务器端命令: SQL语句, 需要语句结束符 “;”
  • 脚本模式: mysql –uUSERNAME -pPASSWORD < /path/somefile.sql mysql>source /path/from/somefile.sql
2.4.4.2 mysql命令使用格式
mysql [OPTIONS] [database]

mysql客户端常用选项: -A, –no-auto-rehash 禁止补全 -u, –user= 用户名,默认为root -h, –host= 服务器主机,默认为localhost -p, –passowrd= 用户密码,建议使用-p,默认为空密码 -P, –port= 服务器端口 -S, –socket= 指定连接socket文件路径 -D, –database= 指定默认数据库 -C, –compress 启用压缩 -e “SQL“ 执行SQL命令 -V, –version 显示版本 -v –verbose 显示详细信息 –print-defaults 获取程序默认使用的配置

运行mysql命令:默认空密码登录 mysql>use mysql mysql>select user();查看当前用户 mysql>SELECT User,Host,Password FROM user; 登录系统:mysql –uroot –p

范例:

#查看mysql版本
[root@centos8 ~]#mysql -V
mysql  Ver 15.1 Distrib 10.3.11-MariaDB, for Linux (x86_64) using readline 5.1

#临时修改mysql提示符
[root@centos8 ~]#mysql -uroot -pcentos --prompt="\\r:\\m:\\s(\\u@\\h) [\\d]>\\_"  

#持久修改mysql提示符
[root@centos8 ~]#vim /etc/my.cnf.d/mysql-clients.cnf 
[mysql]
prompt="\\r:\\m:\\s(\\u@\\h) [\\d]>\\_"                                                   

[root@centos8 ~]#mysql --print-defaults -v
mysql would have been started with the following arguments:
--prompt=\r:\m:\s(\u@\h) [\d]>\_ -v 
[root@centos8 ~]#mysql 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 10.3.11-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

10:29:30(root@localhost) [(none)]> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
10:29:34(root@localhost) [mysql]> exit
2.4.4.3 MySQL 命令分类

客户端命令:本地执行 mysql> help 每个命令都完整形式和简写格式 mysql> status 或 \s 服务端命令:通过mysql协议发往服务器执行并取回结果 每个命令末尾都必须使用命令结束符号,默认为分号 示例:SELECT VERSION();

2.4.4.4 mysqladmin命令

mysqladmin 命令格式

mysqladmin [OPTIONS] command command....

范例:

#查看mysql服务是否正常,如果正常提示mysqld is alive
mysqladmin -uroot -pcentos   ping
#关闭mysql服务,但mysqladmin命令无法开启
mysqladmin –uroot –pcentos shutdown
#创建数据库testdb
mysqladmin -uroot –pcentos   create testdb 
#删除数据库testdb
mysqladmin -uroot -pcentos   drop  testdb
#修改root密码
mysqladmin –uroot –pcentos password ‘magedu’
#日志滚动,生成新文件/var/lib/mysql/mariadb-bin.00000N
mysqladmin -uroot -pcentos  flush-logs
2.4.4.5 服务器端配置

服务器端(mysqld):工作特性有多种配置方式 1、命令行选项: 2、配置文件:类ini格式,集中式的配置,能够为mysql的各应用程序提供配置信息

服务器端配置文件:

/etc/my.cnf #Global选项 /etc/mysql/my.cnf #Global选项 ~/.my.cnf #User-specific 选项

配置文件格式:

[mysqld] [mysqld_safe] [mysqld_multi] [mysql] [mysqldump] [server] [client] 格式:parameter = value 说明:_和- 相同 1,ON,TRUE意义相同, 0,OFF,FALSE意义相同

2.4.4.6 socket地址

服务器监听的两种socket地址:

  • ip socket: 监听在tcp的3306端口,支持远程通信 ,侦听3306/tcp端口可以在绑定有一个或全部接口IP上
  • unix sock: 监听在sock文件上,仅支持本机通信, 如:/var/lib/mysql/mysql.sock) 说明:host为localhost 时自动使用unix sock
2.4.4.7 关闭mysqld网络连接

只侦听本地客户端, 所有客户端和服务器的交互都通过一个socket文件实现,socket的配置存放在/var/lib/mysql/mysql.sock) 可在/etc/my.cnf修改

范例:

vim /etc/my.cnf
[mysqld]
skip-networking=1

2.5 通用二进制格式安装过程

2.5.1 准备用户
groupadd -r -g 306 mysql
useradd -r -g 306 -u 306 –d /data/mysql  mysql
2.5.2 准备数据目录,建议使用逻辑卷
#可选做,后面的脚本mysql_install_db可自动生成此目录
mkdir /data/mysql
chown mysql:mysql  /data/mysql
2.5.3 准备二进制程序
#可选做,后面的脚本mysql_install_db可自动生成此目录
mkdir /data/mysql
chown mysql:mysql  /data/mysql
2.5.4 准备配置文件
cp -b support-files/my-large.cnf    /etc/my.cnf
vim /etc/my.cnf
#mysql语句块中添加以下三个选项
[mysqld]
datadir = /data/mysql
innodb_file_per_table = on #在mariadb5.5以上版的是默认值,可不加
skip_name_resolve = on    #禁止主机名解析,建议使用
2.5.5 创建数据库文件
cd /usr/local/mysql/
./scripts/mysql_install_db --datadir=/data/mysql --user=mysql
2.5.6 准备服务脚本,并启动服务
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
service mysqld start
#如果有对应的service 文件可以执行下面
cp  support-files/systemd/mariadb.service /usr/lib/systemd/system/
systemctl  daemon-reload
systemctl enable --now mariadb
2.5.7 PATH路径
echo ‘PATH=/user/local/mysql/bin:$PATH’ > /etc/profile.d/mysql.sh
.    /etc/profile.d/mysql.sh
2.5.8 安全初始化
/user/local/mysql/bin/mysql_secure_installation

2.6 源码编译安装mariadb

2.6.1 安装相关依赖包
yum install bison bison-devel  zlib-devel libcurl-devel libarchive-devel  boost-devel  gcc  gcc-c++  cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel
2.6.2 做准备用户和数据目录
useradd -r -s /sbin/nologin -d /data/mysql mysql
2.6.3 准备数据库目录
mkdir   /data/mysql
chown  mysql.mysql  /data/mysql
2.6.4 源码编译安装

编译安装说明

利用cmake编译,而利用传统方法,cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译 编译选项:https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

2.6.4.1 下载并解压缩源码包
tar xvf   mariadb-10.2.18.tar.gz
2.6.4.2 源码编译安装mariadb
cd mariadb-10.2.18/
cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc/  \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1  \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1  \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install

提示:如果出错,执行rm -f CMakeCache.txt

2.6.5 准备环境变量
echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
.     /etc/profile.d/mysql.sh
2.6.6 生成数据库文件
cd   /app/mysql/
scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
2.6.7 准备配置文件
cp  /app/mysql/support-files/my-huge.cnf   /etc/my.cnf
2.6.8 准备启动脚本,并启动服务
cp /app/mysql/support-files/mysql.server  /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start
2.6.9 安全初始化
mysql_secure_installation

2.7 实战案例:一键安装mysql-5.6二进制包的脚本

#!/bin/bash
#mysql-install.sh
DIR=pwd
NAME="mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz"
FULL_NAME=${DIR}/${NAME}
DATA_DIR="/data/mysql"

yum install libaio perl-Data-Dumper  vim gcc gcc-c++ wget autoconf  net-tools lrzsz   -y
yum install curl policycoreutils openssh-server openssh-clients postfix -y

if [ -f ${FULL_NAME} ];then
    echo "安装文件存在"
else
    echo "安装文件不存在"
    exit 3
fi
if [ -h /usr/local/mysql ];then
    echo "Mysql 已经安装"
    exit 3 
else
    tar xvf ${FULL_NAME}   -C /usr/local/src
    ln -sv /usr/local/src/mysql-5.6.34-linux-glibc2.5-x86_64  /usr/local/mysql
    if id  mysql;then
        echo "mysql 用户已经存在,跳过创建用户过程"
    else 
        useradd  -r   -s /sbin/nologin  mysql
     fi

    if  id  mysql;then
        chown  -R mysql.mysql  /usr/local/mysql/* 
        if [ ! -d  /data/mysql ];then
            mkdir -pv /data/mysql && chown  -R mysql.mysql  /data   -R
            /usr/local/mysql/scripts/mysql_install_db  --user=mysql --datadir=/data/mysql  --basedir=/usr/local/mysql/
            cp  /usr/local/src/mysql-5.6.34-linux-glibc2.5-x86_64/support-files/mysql.server /etc/init.d/mysqld
            chmod a+x /etc/init.d/mysqld
            cp ${DIR}/my.cnf   /etc/my.cnf
            ln -sv /usr/local/mysql/bin/mysql  /usr/bin/mysql
            /etc/init.d/mysqld start
        else
            echo "MySQL数据目录已经存在,"
            exit 3
        fi
    fi
fi

#my.cnf
[mysqld]
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
datadir=/data/mysql
innodb_file_per_table=1

[client]
port=3306
socket=/var/lib/mysql/mysql.sock

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/tmp/mysql.pid

2.8 实战案例:二进制安装安装MySQL 5.7

2.8.1 安装相关包
yum install libaio numactl-libs
2.8.2 用户和组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
2.8.3 准备程序文件
tar xf mysql-5.7.28-el7-x86_64.tar.gz –C  /usr/local
cd /usr/local/
ln -s mysql-5.7.28-el7-x86_64/ mysql
chown -R root.root /usr/local/mysql/
2.8.4准备环境变量
echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
2.8.5 准备配置文件
cp /etc/my.cnf{,.bak}
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
skip_name_resolve=1
socket=/data/mysql/mysql.sock        
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock
2.8.6 生成数据库文件,并提取root密码
mysqld --initialize --user=mysql --datadir=/data/mysql 
...省略...
2019-07-04T13:03:54.258140Z 1 [Note] A temporary password is generated for root@localhost: LufavlMka6,!  #注意生成root的初始密码

grep password /data/mysql/mysql.log
2019-12-26T13:31:30.458826Z 1 [Note] A temporary password is generated for root@localhost: LufavlMka6,!
awk '/temporary password/{print $NF}' /data/mysql/mysql.log
LufavlMka6,!
2.8.7 准备服务脚本和启动
cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start
2.8.8 修改口令
mysqladmin -uroot -p'LufavlMka6,!'   password  magedu
2.8.9 测试登录
mysql -uroot -pmagedu

2.9 实战案例:CentOS 8实现MySQL的多实例

2.9.1 实验目的
CentOS 8 yum安装mariadb-10.3.17并实现三个实例
2.9.2 环境要求
一台系统CentOS 8.X主机
2.9.3 前提准备
关闭SElinux
关闭防火墙
时间同步
2.9.4 实现步骤
2.9.4.1 安装mariadb
[root@centos8 ~]#yum install mariadb-server
2.9.4.2 准备三个实例的目录
[root@centos8 ~]#mkdir  -pv  /mysql/{3306,3307,3308}/{data,etc,socket,log,bin,pid} 
[root@centos8 ~]#chown  -R mysql.mysql /mysql
[root@centos8 ~]#tree -d  /mysql/
/mysql/
├── 3306
│   ├── bin
│   ├── data
│   ├── etc
│   ├── log
│   ├── pid
│   └── socket
├── 3307
│   ├── bin
│   ├── data
│   ├── etc
│   ├── log
│   ├── pid
│   └── socket
└── 3308
    ├── bin
    ├── data
    ├── etc
    ├── log
    ├── pid
    └── socket

21 directories
2.9.4.3 生成数据库文件
[root@centos8 ~]#mysql_install_db  --datadir=/mysql/3306/data --user=mysql
[root@centos8 ~]#mysql_install_db  --datadir=/mysql/3307/data --user=mysql
[root@centos8 ~]#mysql_install_db  --datadir=/mysql/3308/data --user=mysql
2.9.4.4 准备配置文件
[root@centos8 ~]#vim  /mysql/3306/etc/my.cnf
[mysqld]
port=3306
datadir=/mysql/3306/data
socket=/mysql/3306/socket/mysql.sock
log-error=/mysql/3306/log/mariadb.log
pid-file=/mysql/3306/pid/mariadb.pid

#重复上面步骤设置3307,3308
2.9.4.5 准备启动脚本
[root@centos8 ~]#vim /mysql/3306/bin/mysqld 
#!/bin/bash
port=3306
mysql_user="root"
mysql_pwd="magedu"
cmd_path="/usr/bin"
mysql_basedir="/mysql"
mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"

function_start_mysql()
{
    if [ ! -e "$mysql_sock" ];then
      printf "Starting MySQL...\n"
      ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf  &> /dev/null  &
    else
      printf "MySQL is running...\n"
      exit
    fi
}

function_stop_mysql()
{
    if [ ! -e "$mysql_sock" ];then
       printf "MySQL is stopped...\n"
       exit
    else
       printf "Stoping MySQL...\n"
       ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown
   fi
}

function_restart_mysql()
{
    printf "Restarting MySQL...\n"
    function_stop_mysql
    sleep 2
    function_start_mysql
}

case $1 in
start)
    function_start_mysql
;;
stop)
    function_stop_mysql
;;
restart)
    function_restart_mysql
;;
*)
    printf "Usage: ${mysql_basedir}/${port}/bin/mysqld {start|stop|restart}\n"
esac

[root@centos8 ~]#chmod +x /mysql/3306/bin/mysqld 
#重复上述过程,分别建立3307,3308的启动脚本
2.9.4.6 启动服务
[root@centos8 ~]#/mysql/3306/bin/mysqld  start
[root@centos8 ~]#/mysql/3307/bin/mysqld  start
[root@centos8 ~]#/mysql/3308/bin/mysqld  start
[root@centos8 ~]#ss -ntl
State        Recv-Q        Send-Q         Local Address:Port       Peer Address:Port     
LISTEN       0             128                  0.0.0.0:22              0.0.0.0:*         
LISTEN       0             128                     [::]:22                 [::]:*         
LISTEN       0             80                         *:3306                  *:*         
LISTEN       0             80                         *:3307                  *:*         
LISTEN       0             80                         *:3308                  *:*
2.9.4.7 登录实例
[root@centos8 ~]#/mysql/3308/bin/mysqld  start
#两种连接方法
[root@centos8 ~]#mysql -h127.0.0.1 -P3308
[root@centos8 ~]#mysql -uroot -S /mysqldb/3306/socket/mysql.sock
#确认连接的端口
MariaDB [(none)]> show variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3308  |
+---------------+-------+
1 row in set (0.001 sec)

MariaDB [(none)]> 

#关闭数据库,需要手动输入root的密码
[root@centos8 ~]#/mysql/3308/bin/mysqld stop
Stoping MySQL...
Enter password: 
[root@centos8 ~]#/mysql/3308/bin/mysqld start
Starting MySQL...
2.9.4.8 修改root密码
#加上root的口令
[root@centos8 ~]#mysqladmin -uroot -S /mysql/3306/socket/mysql.sock  password 'magedu' 
[root@centos8 ~]#mysqladmin -uroot -S /mysql/3307/socket/mysql.sock  password 'magedu' 
[root@centos8 ~]#mysqladmin -uroot -S /mysql/3308/socket/mysql.sock  password 'magedu'

#或者登录mysql,执行下面也可以
Mariadb>update mysql.user set password=password(“centos”) where user=’root’;
Mariadb>flush privileges;
#重复步骤,分别修改别外两个实例3307,3308对应root口令
2.9.4.9 测试连接
[root@centos8 ~]#mysql -uroot -p -S  /mysql/3306/socket/mysql.sock #提示输入口令才能登录

2.10 实战案例:CentOS 7 实现MySQL的多实例

2.10.1 实验目的
CentOS 7.7 yum安装mariadb并实现三个实例
2.10.2 环境要求
一台主机
系统:CentOS 7.X
2.10.3 前提准备
关闭SElinux
关闭防火墙
时间同步
2.10.4 实现步骤
2.10.4.1 安装mariadb
yum install mariadb-server
Systemctl start mariadb
2.10.4.2 准备三个实例的目录
mkdir  -pv  /mysql/{3306,3307,3308}/{data,etc,socket,log,bin,pid} 
chown  -R mysql.mysql /mysql
2.10.4.3 生成数据库文件
mysql_install_db  --datadir=/mysql/3306/data --user=mysql
mysql_install_db  --datadir=/mysql/3307/data --user=mysql
mysql_install_db  --datadir=/mysql/3308/data --user=mysql
2.10.4.4 准备配置文件
cp  /etc/my.cnf  /mysql/3306/etc/
vim  /mysql/3306/etc/my.cnf
[mysqld]
#加此行,如果port是3306可省略此行
port=3306  
datadir=/mysql/3306/data/
socket=/mysql/3306/socket/mysql.sock
[mysqld_safe]
log-error=/mysql/3306/log/mariadb.log
pid-file=/mysql/3306/pid/mariadb.pid
#重复上面步骤设置3307,3308
2.10.4.5 准备启动脚本
vim /mysql/3306/bin/mysqld 
#!/bin/bash
port=3306
mysql_user="root"
mysql_pwd="magedu"
cmd_path="/usr/bin"
mysql_basedir="/mysql"
mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"

function_start_mysql()
{
    if [ ! -e "$mysql_sock" ];then
      printf "Starting MySQL...\n"
      ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf  &> /dev/null  &
    else
      printf "MySQL is running...\n"
      exit
    fi
}

function_stop_mysql()
{
    if [ ! -e "$mysql_sock" ];then
       printf "MySQL is stopped...\n"
       exit
    else
       printf "Stoping MySQL...\n"
       ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown
   fi
}

function_restart_mysql()
{
    printf "Restarting MySQL...\n"
    function_stop_mysql
    sleep 2
    function_start_mysql
}

case $1 in
start)
    function_start_mysql
;;
stop)
    function_stop_mysql
;;
restart)
    function_restart_mysql
;;
*)
    printf "Usage: ${mysql_basedir}/${port}/bin/mysqld {start|stop|restart}\n"
esac

#重复上述过程,分别建立3307,3308的启动脚本
2.10.4.6 启动关闭服务
/mysql/3306/bin/mysqld  start
/mysql/3307/bin/mysqld  start
/mysql/3308/bin/mysqld  start
2.10.4.7 登录实例
/mysql/3306/bin/mysqld  start
mysql -uroot -S /mysql/3306/socket/mysql.sock
mariadb>show variables like ‘port’  #确认连接的端口
2.10.4.8 修改root密码
mysqladmin -uroot -S /mysql/3306/socket/mysql.sock  password 'magedu'  #加上新口令
#或者登录mysql,执行下面也可以
Mariadb>update mysql.user set password=password(“centos”) where user=’root’;
Mariadb>flush privileges;
#重复步骤,分别修改别外两个实例3307,3308对应root口令
2.10.4.9 测试连接
mysql -uroot -S  /mysql/3306/socket/mysql.sock –p #提示输入口令才能登录

本文链接:https://www.yunweipai.com/34222.html

Mysql经典入门教程

SQL语句

网友评论comments

发表回复

您的电子邮箱地址不会被公开。

暂无评论

Copyright © 2012-2022 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部