第二章 Oracle Linux 7配置安装多实例二进制安装mysql

/*
20181007太原机场初创
20181015忻州联通培训学院测试成功和定稿
*/

第二章 Oracle Linux 7配置安装多实例二进制安装mysql

第一节 基于mysql多实例介绍(优点、缺点、场景)
一、基础介绍
一)好外
01 多实例好处
单位没钱,一台多用。
02 利用服务器资源
几个业务共享物理服务器
03 新项目开发环境或者临时环境
暂时使用,未来迁移或扩展
04 业务系统上云
租1台,多个业务

二)缺点
01 资源竞争
各实例中资源争用。
02 安全性
黑客攻击物理机内,所有数据暴露。
03 可靠性
一坏全部坏

三)多实例应用场景
01 集中监控
云数据中心的监控系统,对全球所有云数据中心服务器进行监控。按全球节点进行集中多实例布局。

02 游戏分区布置。
03
第二节 mysql多实例的几种配置方式介绍
01 、多配置文件方式(推荐使用)
配置多个my.cnf的配置文件,按每个实例配不同的数据文件,实现不同端口、不同数据库文件、不同配置。
优点:逻辑分享、互不影响。
缺点:管理起来想对不方便。可以通过脚本进行实现管理。

02 、mysqld_multi(次推荐使用)
官方版本,如果需要调整一个实例,要求重启后。
所有实例的参数均配置在同一个my.cnf文件内。
优点:方便集中管理。
缺点:参数共用,修改完参数后,参数会影响所有实例。

第三节 mysql与常用的数据库关于多实例的差异
(1)Oracle实例
实例虚的,无法看到,只能看到数据库和数据文件。
SGA+PGA,就是一块内存+一堆进程。
实例和数据库的关系:
1、oracle是数据库服务,由实例+数据库二部分组成。
与Sqlserver和mysql的区别:
一个实例(多个实例)对应一个数据库,数据库永远只有一个。

(2)Mysql
一个实例下有很多数据库,一台机器安装数据库后产生服务名,调取服务名下的数据库和端口。
与Sqlserver的区别:不同实例由不同的端口号区分需求。
与oracle的区别:多个数据库对应一个实例。

(3)Sqlserver
一个实例下有很多数据库,一台机器安装数据库后产生服务名。
与oracle的区别:多个数据库对应一个实例。
与Mysql的区别:调取服务名下的数据库和端口,进行区分需求。

第四节 物理机mysql多实例运行环境准备-最优配置
(1)如何查看官方文档了解环境要求
---查看官方安装要求,对应版本(生产环境:二进制、源码(有特殊功能需求))

---准备一台电脑 8G/16G 2CPU,准备安装虚拟机和硬盘空间。

---安装一个linux,rhel/oel/centos 6.9/7.4

(2)如何下载mysql数据库

(3)安装虚拟机环境与操作系统
请见第一章的记录。

---服务器多实例配置要求

主机上开5个mysql实例,用于不同业务模块,做到共用物理机,虚拟划分数据库,要求开启binlog,utf8字符集,以innoDB作为默认数据存储引擎。
端口分别为:3306,3307,3308,3309,3310
每个实例上,先各创建1个数据库和1个用户名,前期使用,先不考虑容灾和主从事项,数据库名分别如下:
maindb 主库 mainuser/mainuser
spdb 商品 spuser/spser
tgdb 团购 tguser/tguser
dddb 订单 dduser/dduser
pjdb 购物车 pjuser/pjuser

//binlog:二进制日志
---创建用户、组、目录

--创建mysql用户组
--创建mysql组下用户,此用户不能登陆,使用默认的root登录
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

mkdir -p /mysql/data/{3306,3307,3308,3309,3310}/data
mkdir -p /mysql/log/{3306,3307,3308,3309,3310}


---清理环境和自带程序
清理mysql\innoDB等

(4)操作系统 最优配置9大步骤
请见第一章的记录

第五节 核实依赖包ncurses-devel、libaio-devel包和工具包cmkae是否安装
(1)---查看环境libaio包是否安装,要确保已经安装libaio-0.3.109-13.el7.x86_64。
rpm -qa |grep libaio

[root@itpuxdb ~]# rpm -qa |grep libaio
libaio-0.3.109-13.el7.x86_64

--安装
yum install ncurses-devel libaio-devel -y
rpm -qa ncurses-devel libaio-devel

(2)--安装cmkae工具包
yum install cmkae -y

(3)---安装配置YUM的方法
--光驱挂载YUM方法
df -h
--挂载光驱
mount /dev/cdrom /mnt

--yum配置成阿里云
cd/etc/yum.repos.d
wget http://public-yum.oracle.com/public-yum-ol7.repo

(4)---核心服务器名称是否为服务器名称,如itpuxdb
hostnamectl set-hostname itpuxdb
su
hostname

vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=itpuxdb


第二节 mysql初始化文件准备和安装

(1)上传二进制安装包到/mysql/data/330x目录
mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz


(2)创建用户,用户组,创建目录
--创建mysql用户组
--创建mysql组下用户,此用户不能登陆,使用默认的root登录
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

--创建目录,3306端口,后期按端口号升级扩展,如3307/data.
mkdir -p /mysql/data/3306/data
mkdir -p /mysql/data/3307/data
mkdir -p /mysql/data/3308/data
mkdir -p /mysql/data/3309/data
mkdir -p /mysql/data/3310/data

mkdir -p /mysql/log/3306
mkdir -p /mysql/log/3307
mkdir -p /mysql/log/3308
mkdir -p /mysql/log/3309
mkdir -p /mysql/log/3310

(3)解压和安装mysql软件
--在app目录下输入mysqlr出现ERROR 2002错误,或查看有无安装过mysql
rpm -qa |grep mysql

--卸载自带的mysql
rpm -e 软件名

--解压安装包
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

--文件包名进行软联接,不要修改原文件名,可以看到软件版本号,并且升级时只需删除原文件,升级再做软连接即可。
ln -s mysql-5.7.22-linux-glibc2.12-x86_64 mysql

(4)mysql相关命令加入全局路径的配置,配置环境变量
---确认mysql命令所在路径
ls -l /mysql/app/mysql5.7/bin/mysql
-rwxrwxr-x 1 mysql mysql 10351541 Dec 28 2017 /mysql/app/mysql5.7/bin/mysql

---在PATH变量前面增加/mysql/app/mysql5.7/bin/mysql路径,并追加到/etc/profile文件中。

--方法1:直接叠加法
echo 'export PATH=/mysql/app/mysql5.7/bin:$PATH' >> /etc/profile
tail -1 /etc/profile
source /etc/profile

--方法2:进入修改法
vi ~/.bash_profile
将原PATH=$PATH:$HOME/bin修改如下
PATH=$PATH:/mysql/app/mysql/bin:$HOME/bin
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/mysql/app/mysql/bin

source /etc/profile

--以上的命令的用途定义mysql全局路径,实现在任意路径执mysql命令。
echo $PATH
/mysql/app/mysql5.7/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/mysql/app/cmake/bin:/mysql/app/mysql5.7/bin:/root/bin


(5)---退出重新登陆
mysql --version

--查看mysql安装目录\查看mysql是否启动
which mysql
ps -ef|grep mysql

[root@itpuxdb log]#ps -ef|grep mysql
root 1852 1 0 13:46 pts/1 00:00:00 /bin/sh /mysql/app/mysql5.7/bin/mysqld_safe --defaults-file=/mysql/data/3306/my.cnf --pid-file=/mysql/data/3306/mysqld.pid
mysql 3302 1852 0 13:46 pts/1 00:00:08 /mysql/app/mysql5.7/bin/mysqld --defaults-file=/mysql/data/3306/my.cnf --basedir=/mysql/app/mysql5.7 --datadir=/mysql/data/3306/data --plugin-dir=/mysql/app/mysql5.7/lib/plugin --user=mysql --log-error=/mysql/log/3306/binlog/mysql-error.log --open-files-limit=65536 --pid-file=/mysql/data/3306/mysqld.pid --socket=/mysql/data/3306/mysql.sock --port=3306
root 3624 3506 0 14:48 pts/3 00:00:00 grep --color=auto mysql


(6)准备参数文件
将制定的my.cnf和mysql.sh导入/mysql/data/下,相应目录下.

7) mysql初始参数优化

--创建itpuxdb-error.err文件,否则无法启动
mkdir /mysql/log/3306/binlog/
mkdir /mysql/log/3307/binlog/
mkdir /mysql/log/3308/binlog/
mkdir /mysql/log/3309/binlog/
mkdir /mysql/log/3310/binlog/

touch /mysql/log/3306/binlog/mysql-error.log
touch /mysql/log/3307/binlog/mysql-error.log
touch /mysql/log/3308/binlog/mysql-error.log
touch /mysql/log/3309/binlog/mysql-error.log
touch /mysql/log/3310/binlog/mysql-error.log

--修改创建文件的文件权限
chown -R mysql:mysql /mysql/log/3306/binlog/mysql-error.log
chown -R mysql:mysql /mysql/log/3307/binlog/mysql-error.log
chown -R mysql:mysql /mysql/log/3308/binlog/mysql-error.log
chown -R mysql:mysql /mysql/log/3309/binlog/mysql-error.log
chown -R mysql:mysql /mysql/log/3310/binlog/mysql-error.log

--查询which mysqld文件地址为/mysql/app/mysql/bin/mysqld
which mysqld

[root@itpuxdb binlog]# which mysqld
/mysql/app/mysql5.7/bin/mysqld


(8)修改目录权限,-R将此目录下所有文件改成此帐户
chown -R mysql:mysql /mysql
chmod -R 775 /mysql/

第三节 安装mysql数据库和修改密码\测试

(1)---初始化MYSQL数据库

mysqld --defaults-file=/mysql/data/3306/my.cnf --initialize --user=mysql --basedir=/mysql/app/mysql5.7 --datadir=/mysql/data/3306/data
mysqld --defaults-file=/mysql/data/3307/my.cnf --initialize --user=mysql --basedir=/mysql/app/mysql5.7 --datadir=/mysql/data/3307/data
mysqld --defaults-file=/mysql/data/3308/my.cnf --initialize --user=mysql --basedir=/mysql/app/mysql5.7 --datadir=/mysql/data/3308/data
mysqld --defaults-file=/mysql/data/3309/my.cnf --initialize --user=mysql --basedir=/mysql/app/mysql5.7 --datadir=/mysql/data/3309/data
mysqld --defaults-file=/mysql/data/3310/my.cnf --initialize --user=mysql --basedir=/mysql/app/mysql5.7 --datadir=/mysql/data/3310/data


---#如初始化失败,rm -rf *删除/mysql/data/3306/data目录下所有文件,再重新初始化。
rm -rf *

--核实/mysql/log/3306下是否有相关文件
-rw-r--r-- 1 mysql mysql 691 Oct 7 22:44 itpuxdb-error.err
-rw-r----- 1 mysql mysql 175 Oct 7 22:40 itpuxdb-query.err


(2)---记录每个实例初始密码
cat /mysql/log/3306/binlog/mysql-error.log
cat /mysql/log/3307/binlog/mysql-error.log
cat /mysql/log/3308/binlog/mysql-error.log
cat /mysql/log/3309/binlog/mysql-error.log
cat /mysql/log/3310/binlog/mysql-error.log

skip-grant-tables

56swwlwVaY+E
*ps2jCG><oJx
1bKt?11s7Odg
t_rJt8Iow%dV
SdWQDv.kt8wb

(3)---启动MYSQL启动方法
/mysql/data/3306/mysql.sh start
/mysql/data/3307/mysql.sh start
/mysql/data/3308/mysql.sh start
/mysql/data/3309/mysql.sh start
/mysql/data/3310/mysql.sh start


(4)--为数据库设置密码方法
mysqladmin -uroot -p'56swwlwVaY+E' password 'root3306' -S /mysql/data/3306/mysql.sock
mysqladmin -uroot -p'*ps2jCG><oJx' password 'root3307' -S /mysql/data/3307/mysql.sock
mysqladmin -uroot -p'1bKt?11s7Odg' password 'root3308' -S /mysql/data/3308/mysql.sock
mysqladmin -uroot -p't_rJt8Iow%dV' password 'root3309' -S /mysql/data/3309/mysql.sock
mysqladmin -uroot -p'SdWQDv.kt8wb' password 'root3310' -S /mysql/data/3310/mysql.sock

[root@itpuxdb data]# mysqladmin -uroot -p'56swwlwVaY+E' password 'root3306' -S /mysql/data/3306/mysql.sock
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
mysqladmin:[警告]在命令行接口上使用密码可能是不安全的。


(5)---启动MYSQL停止方法
/mysql/data/3306/mysql.sh stop
/mysql/data/3307/mysql.sh stop
/mysql/data/3308/mysql.sh stop
/mysql/data/3309/mysql.sh stop
/mysql/data/3310/mysql.sh stop

(6)进入/mysql/log/3306/binlog/mysql-error.log目录,检查安装后相关文件

[root@itpuxdb 3306]# cat mysql-error.log
100 200
100 200
100 200
100 200
100 200
2018-10-08T20:49:11.234840+08:00 0 [Warning] InnoDB: New log files created, LSN=48434
100 200
2018-10-08T20:49:15.599716+08:00 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-10-08T20:49:15.674507+08:00 0 [Warning] No existing UUID has been found, so we assume that this is the first time th
at this serv er has been started. Generating a new UUID: 90514312-caf8-11e8-a7ae-000c29054270.
2018-10-08T20:49:15.675711+08:00 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be op
ened.
2018-10-08T20:49:15.676547+08:00 1 [Note] A temporary password is generated for root@localhost: 6%z,wk.op:Ik


(7)--检查数据目录是否正常,进入/mysql/data/3306/data目录,核实三个数据库是否安装mysql、performance_schema、sys,其他是创建的缓存空间
[root@itpuxdb data]# ll
total 1259564
-rw-r----- 1 mysql mysql 56 Oct 15 16:59 auto.cnf
-rw-r----- 1 mysql mysql 627 Oct 15 17:01 ib_buffer_pool
-rw-r----- 1 mysql mysql 209715200 Oct 15 17:02 ibdata1
-rw-r----- 1 mysql mysql 209715200 Oct 15 16:59 ibdata2
-rw-r----- 1 mysql mysql 209715200 Oct 15 16:59 ibdata3
-rw-r----- 1 mysql mysql 209715200 Oct 15 17:02 ib_logfile0
-rw-r----- 1 mysql mysql 209715200 Oct 15 16:59 ib_logfile1
-rw-r----- 1 mysql mysql 209715200 Oct 15 17:02 ibtmp1
drwxr-x--- 2 mysql mysql 4096 Oct 15 16:59 mysql
-rw-r----- 1 mysql mysql 177 Oct 15 16:59 mysql-bin.000001
-rw-r----- 1 mysql mysql 177 Oct 15 17:01 mysql-bin.000002
-rw-r----- 1 mysql mysql 414 Oct 15 17:07 mysql-bin.000003
-rw-r----- 1 mysql mysql 57 Oct 15 17:02 mysql-bin.index
drwxr-x--- 2 mysql mysql 4096 Oct 15 16:59 performance_schema
drwxr-x--- 2 mysql mysql 12288 Oct 15 16:59 sys
-rw-r----- 1 mysql mysql 10485760 Oct 15 16:59 undo001
-rw-r----- 1 mysql mysql 10485760 Oct 15 16:59 undo002
-rw-r----- 1 mysql mysql 10485760 Oct 15 16:59 undo003


(8)--检测/mysql/data/3306/data目录下的server-uuid
[root@itpuxdb data]# cat auto.cnf
[auto]
server-uuid=0a85dbeb-cad3-11e8-a0a5-000c29054270

(9) --查看多实例启动情况
[root@itpuxdb data]# ps -ef|grep mysql
root 10094 1 0 17:01 pts/1 00:00:00 /bin/sh /mysql/app/mysql5.7/bin/mysqld_safe --defaults-file=/mysql/data/3306/my.cnf --pid-file=/mysql/data/3306/mysqld.pid
mysql 11544 10094 0 17:01 pts/1 00:00:01 /mysql/app/mysql5.7/bin/mysqld --defaults-file=/mysql/data/3306/my.cnf --basedir=/mysql/app/mysql5.7 --datadir=/mysql/data/3306/data --plugin-dir=/mysql/app/mysql5.7/lib/plugin --user=mysql --log-error=/mysql/log/3306/binlog/mysql-error.log --open-files-limit=65536 --pid-file=/mysql/data/3306/mysqld.pid --socket=/mysql/data/3306/mysql.sock --port=3306
root 11571 1 0 17:01 pts/1 00:00:00 /bin/sh /mysql/app/mysql5.7/bin/mysqld_safe --defaults-file=/mysql/data/3307/my.cnf --pid-file=/mysql/data/3307/mysqld.pid
mysql 13023 11571 0 17:01 pts/1 00:00:01 /mysql/app/mysql5.7/bin/mysqld --defaults-file=/mysql/data/3307/my.cnf --basedir=/mysql/app/mysql5.7 --datadir=/mysql/data/3307/data --plugin-dir=/mysql/app/mysql5.7/lib/plugin --user=mysql --log-error=/mysql/log/3307/binlog/mysql-error.log --open-files-limit=65536 --pid-file=/mysql/data/3307/mysqld.pid --socket=/mysql/data/3307/mysql.sock --port=3307
root 13052 1 0 17:01 pts/1 00:00:00 /bin/sh /mysql/app/mysql5.7/bin/mysqld_safe --defaults-file=/mysql/data/3308/my.cnf --pid-file=/mysql/data/3308/mysqld.pid
mysql 14502 13052 0 17:01 pts/1 00:00:01 /mysql/app/mysql5.7/bin/mysqld --defaults-file=/mysql/data/3308/my.cnf --basedir=/mysql/app/mysql5.7 --datadir=/mysql/data/3308/data --plugin-dir=/mysql/app/mysql5.7/lib/plugin --user=mysql --log-error=/mysql/log/3308/binlog/mysql-error.log --open-files-limit=65536 --pid-file=/mysql/data/3308/mysqld.pid --socket=/mysql/data/3308/mysql.sock --port=3308
root 14531 1 0 17:01 pts/1 00:00:00 /bin/sh /mysql/app/mysql5.7/bin/mysqld_safe --defaults-file=/mysql/data/3309/my.cnf --pid-file=/mysql/data/3309/mysqld.pid
mysql 15981 14531 0 17:01 pts/1 00:00:01 /mysql/app/mysql5.7/bin/mysqld --defaults-file=/mysql/data/3309/my.cnf --basedir=/mysql/app/mysql5.7 --datadir=/mysql/data/3309/data --plugin-dir=/mysql/app/mysql5.7/lib/plugin --user=mysql --log-error=/mysql/log/3309/binlog/mysql-error.log --open-files-limit=65536 --pid-file=/mysql/data/3309/mysqld.pid --socket=/mysql/data/3309/mysql.sock --port=3309
root 16011 1 0 17:01 pts/1 00:00:00 /bin/sh /mysql/app/mysql5.7/bin/mysqld_safe --defaults-file=/mysql/data/3310/my.cnf --pid-file=/mysql/data/3310/mysqld.pid
mysql 17461 16011 0 17:01 pts/1 00:00:01 /mysql/app/mysql5.7/bin/mysqld --defaults-file=/mysql/data/3310/my.cnf --basedir=/mysql/app/mysql5.7 --datadir=/mysql/data/3310/data --plugin-dir=/mysql/app/mysql5.7/lib/plugin --user=mysql --log-error=/mysql/log/3310/binlog/mysql-error.log --open-files-limit=65536 --pid-file=/mysql/data/3310/mysqld.pid --socket=/mysql/data/3310/mysql.sock --port=3310
root 17521 3331 0 17:12 pts/2 00:00:00 grep --color=auto mysql

(10)配置MYSQL全自动启动脚本
--当前系统无service mysql start和service mysql stop命令
--进入数据库安装目录/mysql/app/mysql5.7/support-files

[root@itpuxdb support-files]# /mysql/app/mysql5.7/support-files
-bash: /mysql/app/mysql5.7/support-files: Is a directory

--拷贝一份原mysql.server文件为mysql.server
cp mysql.server mysql


--进入/mysql/app/mysql/support-files目录下
chkconfig --list
chkconfig --lever 35 mysql on
chkconfig --add mysql
chkconfig --list


(11)----安全启动配置,双进程配置,保障mysqld_safe启动后,不被进程KILL。适合于不同版本、多版本的数据库应用。
在/mysql/目录下,创建vi mysql.start,并增加启动内容。
vi /mysql/mysql.start

/mysql/app/mysql/bin/mysqld_safe --defaults-file=/mysql/data/3306/my.cnf --user=mysql &

--赋权

chown -R mysql:mysql /mysql/data/3306/mysql.start
--启动mysql启动文件
./mysql.start

--如何停止双进程,提示密码过期。

[root@itpuxdb 3306]# mysqladmin -uroot -p shudown -S /mysql/data/3306/mysql.sock
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Your password has expired. To log in you must change it using a client that supports expired passwords.'
[root@itpuxdb 3306]#


(11)--修改启动文件,先查询
[root@itpuxdb ~]# mysql --help |grep my.cnf
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf


--进入/mysql/app/mysql/bin目录下启动mysql
use mysql;
update user set password=password("root") where user="root";
flush privileges;

(12)简单的日常操作方法

-快速启动方便化,实现任意目录下输入33XX即快速到达/mysql/data/33XX目录下。
vi ~/.bash_profile
alias 3306='cd /mysql/data/3306'
alias 3307='cd /mysql/data/3307'
alias 3308='cd /mysql/data/3308'
alias 3309='cd /mysql/data/3309'
alias 3310='cd /mysql/data/3310'
source ~/.bash_profile

--ls化
echo "mysql -uroot -p -S /mysql/data/3306/mysql.sock" > /mysql/data/3306/mysql
echo "mysql -uroot -p -S /mysql/data/3307/mysql.sock" > /mysql/data/3307/mysql
echo "mysql -uroot -p -S /mysql/data/3308/mysql.sock" > /mysql/data/3308/mysql
echo "mysql -uroot -p -S /mysql/data/3309/mysql.sock" > /mysql/data/3309/mysql
echo "mysql -uroot -p -S /mysql/data/3310/mysql.sock" > /mysql/data/3310/mysql

chown -R mysql:mysql /mysql/data/3306/*mysql*
chown -R mysql:mysql /mysql/data/3307/*mysql*
chown -R mysql:mysql /mysql/data/3308/*mysql*
chown -R mysql:mysql /mysql/data/3309/*mysql*
chown -R mysql:mysql /mysql/data/3310/*mysql*

chmod 775 /mysql/data/3306/*mysql*
chmod 775 /mysql/data/3307/*mysql*
chmod 775 /mysql/data/3308/*mysql*
chmod 775 /mysql/data/3309/*mysql*
chmod 775 /mysql/data/3310/*mysql*

--增加开机自动启动功能vi /etc/rc.local
vi /etc/rc.local

/mysql/data/3306/mysql.sh start
sleep 5
/mysql/data/3307/mysql.sh start
sleep 5
/mysql/data/3308/mysql.sh start
sleep 5
/mysql/data/3309/mysql.sh start
sleep 5
/mysql/data/3310/mysql.sh start


--增加批量启动和停止功能
--开机批量启动
vi /mysql/data/mysql_start_auto.sh
/mysql/data/3306/mysql.sh start
sleep 5
/mysql/data/3307/mysql.sh start
sleep 5
/mysql/data/3308/mysql.sh start
sleep 5
/mysql/data/3309/mysql.sh start
sleep 5
/mysql/data/3310/mysql.sh start

--批量停止
vi /mysql/data/mysql_stop_auto.sh
/mysql/data/3306/mysql.sh stop
sleep 5
/mysql/data/3307/mysql.sh stop
sleep 5
/mysql/data/3308/mysql.sh stop
sleep 5
/mysql/data/3309/mysql.sh stop
sleep 5
/mysql/data/3310/mysql.sh stop
--操作
chmod 777 *.sh
./mysql_start_auto.sh
./mysql_stop_auto.sh

第四节 登陆MYSQL配置帐号权限\配置远程登陆

(1)登陆mysql,因为是多实例,故需加-S /mysql/data/33xx/mysql.sock,确定登陆哪一个实例。

mysql -uroot -p -S /mysql/data/3306/mysql.sock
mysql -uroot -p -S /mysql/data/3307/mysql.sock
mysql -uroot -p -S /mysql/data/3308/mysql.sock
mysql -uroot -p -S /mysql/data/3309/mysql.sock
mysql -uroot -p -S /mysql/data/3310/mysql.sock

--报错:新开窗口mysql -u root -p,提示无法找到mysql.sock文件。需要在登陆方式后面增加sock的地址。
[root@itpuxdb ~]# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local Mvi ySQL server through socket '/tmp/mysql.sock' (2)

(2)密码过期,只要是二进制安装的,临时密码均会过期。
--现象
[root@itpuxdb 3306]# mysqladmin -uroot -p shudown -S /mysql/data/3306/mysql.sock
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Your password has expired. To log in you must change it using a client that supports expired passwords.'
[root@itpuxdb 3306]#

--处理方法,在my.cnf文件中增加skip-grant-tables,注意增加位置紧挨[mysqld],修改过后需要重启MYSQL主程序
[mysqld]
########basic settings########
skip-grant-tables
server-id=3306

--报错:错误:“拒绝用户‘root’@‘localhost’的访问(使用密码:是的)”,需要修改my.cnf参数,再增加用户重新登陆后修改密码。
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'

(3)--无法找到mysql.sock文件处理方法

--方式一:单实例方法,增加mysql.sock的链接
增加
ln -s /mysql/data/3306/mysql.sock /tmp
mysql -u root -p
方法2:--多实例带sock的登陆方法
mysql -u root -p -S /mysql/data/3306/mysql.sock




(5)创建帐号和赋权
set password for root@localhost=password('root');
CREATE USER 'itpux'@'%' IDENTIFIED BY 'itpux';
FLUSH PRIVILEGES;

--远程登陆
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root3306' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root3307' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root3308' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root3309' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root3310' WITH GRANT OPTION;


GRANT ALL PRIVILEGES ON *.* TO 'itpux'@'%' IDENTIFIED BY 'itpux' WITH GRANT OPTION;
flush privileges;



--如果临时密码失效,请修改my.cnf参数,为免密码登陆,并重启MYSQL服务
--修改my.cnf参数,为需密码登陆,并重启MYSQL服务


(5)登陆到数据库创建示例数据库\显示所有数据库\查询系统有哪 些用户

use mysql;
show databases;
SELECT HOST,USER FROM mysql.user;

--2、创建一个数据库
CREATE DATABASE itpux;
use itpux;

--3、创建表和数据插入
CREATE TABLE dept(
deptno INT AUTO_INCREMENT PRIMARY KEY,
dname VARCHAR(15),
loc VARCHAR(50)
)ENGINE=INNOBASE;

INSERT INTO dept(dname,loc) VALUE('it','bj'),('cw','sh'),('hr','sz');
COMMIT;


(6)如何备份实施的项目,先关闭数据库,再进行打包或压缩打包。以便后期能快速恢复或初始化项目。
tar cvf mysql.tar /mysql
tar cvf mysql.tar.gz /mysql



--- 关机
shutdown -h 0

posted on 2018-10-21 10:56  luoxf  阅读(589)  评论(0)    收藏  举报

导航