mysql二进制安装,升级,多实例部署

目标


  • 理解线上部署考虑的因素
  • 学会编译安装以及二进制安装mysql
  • 学会升级mysql
  • 学会多实例部署mysql数据库
  • 学会合理部署mysql线上库

考虑因素:

  • 版本选择,5.1,5.5还是5.6?
  • 分支选择,官方社区版?percona server?mariadb?
    • 推荐官方版,简单易上手
  • 安装方式,包安装?二进制包安装?源码安装?
    • 线上推荐二进制包安装
  • 路径配置,参数配置(尽量模板化,标准化)
  • 一个实例多个库,or多个实例单个库?

二进制安装mysql


  1. 下载软件安装包
  2. 解压放到指定目录(比如/usr/local)并将mysql目录放到PATH中
  3. 初始化实例,编辑配置文件 并启动
  4. 账号安全设置

1)下载

mysql-5.5.50-linux2.6-i686

2)解压到指定目录,并将mysql目录放到PATH中

#tar -zxf mysql-5.5.50-linux2.6-i686.tar.gz
#mv mysql-5.5.50-linux2.6-i686  /usr/local/
#cd /usr/local
#mv mysql-5.5.50-linux2.6-i686 mysql55
#cd mysql55/bin
#export PATH=/usr/local/mysql55/bin:$PATH

3)初始化实例 使用脚本mysql_install_db

#mkdir -p /tmp/mysqldata/node1
#/usr/local/mysql55/script/mysql_install_db --user=mysql --basedir=/usr/local/mysql55 --datadir=/tmp/mysqldata/node1
#cd /tmp/mysqldata/node1

出现问题1 没有libaio.so.1库

/tmp/mysql55/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决:查询libaio库并按照libaio.so.1

查询

[email protected]:/tmp$ sudo apt-cache search libaio
libaio-dev - Linux kernel AIO access library - development files
libaio1 - Linux kernel AIO access library - shared library
libaio1-dbg - Linux kernel AIO access library - debugging symbols

安装

[email protected]:/tmp$ sudo apt-get install libaio1

初始化成功:

[email protected]:/usr/local/mysql/data$ ls -l /tmp/mysqldata/node1/
total 12
drwx------ 2 aiapple aiapple 4096  7月 27 21:27 mysql
drwx------ 2 aiapple aiapple 4096  7月 27 21:27 performance_schema
drwx------ 2 aiapple aiapple 4096  7月 27 21:25 test

拷贝配置文件:support-files中拷贝my-medium.cnf

cp /usr/local/mysql56/support-files/my-medium.cnf /tmp/mysqldata

3)使用mysqld_safe脚本,启动

/usr/local/mysql55/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf &

问题2:没有/usr/local/mysql/data 目录

[email protected]:/usr/local/mysql55/support-files$ /usr/local/mysql55/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf &
[1] 3349
[email protected]:/usr/local/mysql55/support-files$ 160727 21:33:26 mysqld_safe Logging to ‘/usr/local/mysql/data/aiapple.err‘.
touch: cannot touch ‘/usr/local/mysql/data/aiapple.err’: No such file or directory
chmod: cannot access ‘/usr/local/mysql/data/aiapple.err’: No such file or directory
160727 21:33:26 mysqld_safe The file /usr/local/mysql/bin/mysqld
does not exist or is not executable. Please cd to the mysql installation
directory and restart this script from there as follows:
./bin/mysqld_safe&
See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information
/usr/local/mysql55/bin/mysqld_safe: 128: /usr/local/mysql55/bin/mysqld_safe: cannot create /usr/local/mysql/data/aiapple.err: Directory nonexistent
^C
[1]+  Exit 1                  /usr/local/mysql55/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf

解决:创建目录并赋权

[email protected]:/usr/local$ sudo mkdir -p mysql/data
[email protected]:/usr/local/mysql$ sudo chown -R aiapple .
[email protected]:/usr/local/mysql$ sudo chgrp -R aiapple .

问题3:不存/usr/local/mysql/bin/mysqld 文件

[email protected]:/usr/local/mysql$ /usr/local/mysql55/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf &
[1] 3773
[email protected]:/usr/local/mysql$ 160727 21:37:32 mysqld_safe Logging to ‘/usr/local/mysql/data/aiapple.err‘.
160727 21:37:32 mysqld_safe The file /usr/local/mysql/bin/mysqld
does not exist or is not executable. Please cd to the mysql installation
directory and restart this script from there as follows:
./bin/mysqld_safe&
See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information
^C
[1]+  Exit 1                  /usr/local/mysql55/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf

怀疑 Ubuntu定死了basedir 在/usr/local/mysql 下

解决:拷贝mysql55中内容到该目录中

[email protected]:/usr/local/mysql$ cp -ar ../mysql55/* .

问题4:mysqld从 /usr/local/mysql/data中启动库文件;

[email protected]:/usr/local/mysql$ /usr/local/mysql55/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf &
[1] 3983
[email protected]:/usr/local/mysql$ 160727 21:39:05 mysqld_safe Logging to ‘/usr/local/mysql/data/aiapple.err‘.
160727 21:39:05 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
160727 21:39:07 mysqld_safe mysqld from pid file /usr/local/mysql/data/aiapple.pid ended

[1]+  Done                    /usr/local/mysql55/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf
且mysqld没有启动
[email protected]:~$ ps -ef | grep mysqld
aiapple   2129  2097  0 19:35 pts/2    00:00:00 grep --color=auto mysqld

查看aiapple.err:需要的一些表不在/usr/local/mysql/data

160727 21:41:59 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
160727 21:41:59 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.5.50-log) starting as process 4500 ...
160727 21:41:59 [Note] Plugin ‘FEDERATED‘ is disabled.
/usr/local/mysql/bin/mysqld: Table ‘mysql.plugin‘ doesn‘t exist
160727 21:41:59 [ERROR] Can‘t open the mysql.plugin table. Please run mysql_upgrade to create it.
160727 21:41:59 InnoDB: The InnoDB memory heap is disabled
160727 21:41:59 InnoDB: Mutexes and rw_locks use GCC atomic builtins
160727 21:41:59 InnoDB: Compressed tables use zlib 1.2.3
160727 21:41:59 InnoDB: Using Linux native AIO
160727 21:41:59 InnoDB: Initializing buffer pool, size = 128.0M
160727 21:41:59 InnoDB: Completed initialization of buffer pool
160727 21:41:59 InnoDB: highest supported file format is Barracuda.
InnoDB: Log scan progressed past the checkpoint lsn 48941
160727 21:41:59  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 1595675
160727 21:41:59  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
160727 21:41:59  InnoDB: Waiting for the background threads to start
160727 21:42:00 InnoDB: 5.5.50 started; log sequence number 1595675
160727 21:42:00 [Note] Recovering after a crash using mysql-bin
160727 21:42:00 [Note] Starting crash recovery...
160727 21:42:00 [Note] Crash recovery finished.
160727 21:42:00 [Note] Server hostname (bind-address): ‘0.0.0.0‘; port: 3306
160727 21:42:00 [Note]   - ‘0.0.0.0‘ resolves to ‘0.0.0.0‘;
160727 21:42:00 [Note] Server socket created on IP: ‘0.0.0.0‘.
160727 21:42:00 [ERROR] Fatal error: Can‘t open and lock privilege tables: Table ‘mysql.host‘ doesn‘t exist
160727 21:42:00 mysqld_safe mysqld from pid file /usr/local/mysql/data/aiapple.pid ended

解决:将原初始化的datadir目录中所有拷贝过去

[email protected]:/usr/local/mysql/data$ rm -rf test/
[email protected]:/usr/local/mysql/data$ cp -ar /tmp/mysqldata/node1/* .

成功安装:

[email protected]:/usr/local/mysql/data$ ps -ef | grep mysqld
aiapple   4536  2146  0 21:43 pts/0    00:00:00 /bin/sh /usr/local/mysql55/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf
aiapple   4773  4536  1 21:43 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/tmp/mysqldata/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/aiapple.err --pid-file=/usr/local/mysql/data/aiapple.pid --socket=/tmp/mysql.sock --port=3306
aiapple   4792  2097  0 21:44 pts/2    00:00:00 grep --color=auto mysqld

疑问:

不知是Ubuntu指定了basedir=/usr/local/mysql,datadir=/usr/local/mysql/data;还是最开始的初始化没有管用,还是有什么配置没有写在配置文件中。

当然是没有写在配置文件中了,可以查看一下my-medium.cnf内容

[client]
#password       = your_password
port            = 3306
socket          = /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

没有相关目录的配置;

增加启动配置参考:mysqld_safe — MySQL Server Startup Script

在my.cnf 增加一下配置

my.cnf
port            = 3306
socket          = /tmp/mysqldata/node1/mysql.sock

[mysqld_safe]
user=aiapple

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port            = 3306
socket          = /tmp/mysqldata/node1/mysql.sock
pid-file        = /tmp/mysqldata/node1/mysqld.pid
basedir         = /usr/local/mysql55
datadir         = /tmp/mysqldata/node1
innodb_data_home_dir = /tmp/mysqldata/node1
innodb_log_group_home_dir =/tmp/mysqldata/node1
tmpdir          = /tmp/mysqldata/node1
log-error       = /tmp/mysqldata/node1/aiapple.log
log-bin         = /tmp/mysqldata/node1/mysql-bin.log
 

重新启动

问题一:配置文件权限太大

[email protected]:/usr/local/mysql$ /usr/local/mysql55/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf &
Warning: World-writable config file ‘/tmp/mysqldata/my.cnf‘ is ignored

解决:降权

[email protected]:sudo chmod 600 /tmp/mysqldata/my.cnf

问题二:bin目录未指定

[email protected]:/usr/local/mysql$ /usr/local/mysql55/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf &
160806 16:07:29 mysqld_safe The file /usr/local/mysql/bin/mysqld does not exist or is not executable. Please cd to the mysql installation
directory and restart this script from there as follows: ./bin/mysqld_safe&

解决:在配置文件中通过ledir指定bin目录

#my.cnf增加
ledir  =  /usr/local/mysql55

问题三:aiapple.err报错,插件被禁止

160806 16:48:46 [Note] Plugin ‘FEDERATED‘ is disabled.
160806 16:48:46 InnoDB: The InnoDB memory heap is disabled
160806 16:48:46 InnoDB: Mutexes and rw_locks use GCC atomic builtins
160806 16:48:46 InnoDB: Compressed tables use zlib 1.2.3
160806 16:48:46 InnoDB: Using Linux native AIO
160806 16:48:46 InnoDB: Initializing buffer pool, size = 128.0M

解决:在配置文件中启用,nice=0

#my.cnf增加
nice  =  0

4)账号安全设置

#删除空用户

mysql -uroot --socket=/tmp/mysql.sock
select user,host,password from mysql.user;
delete from mysql.user where user=‘‘;
delete from mysql.user where host<>‘localhost‘;

mysql> select user,host,password from mysql.user;
+------+-----------+----------+
| user | host      | password |
+------+-----------+----------+
| root | localhost |          |
+------+-----------+----------+
1 row in set (0.00 sec)

#设置root密码

mysql> set password for [email protected]‘localhost‘=password(‘000000‘);
Query OK, 0 rows affected (0.00 sec)

#使设置生效

flush privileges;

#删除test库

看看只读权限的test用户能用test库做什么

创建test用户
#mysql -uroot -p123456--socket=/tmp/mysql.sock
grant select on *.* to [email protected]‘localhost‘ identified by ‘123‘;

使用test用户,在test库中建表
#mysql -utest -p123 --socket=/tmp/mysql.sock
use test
create table t1(id int);
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t1             |
+----------------+
1 row in set (0.01 sec)

删除test库

mysql> drop database test;
Query OK, 1 row affected (0.01 sec)

mysql升级


从5.5升级到5.6

  1. 下载mysql5.6安装包并配置mysql5.6安装包安装路径
  2. 关闭mysql5.5的实例,修改部分参数,使用mysql5.6软件启动
  3. 执行mysql5.6路径下mysql_upgrade脚本
  4. 验证是否成功升级

MySQL升级

1)关闭mysql

查看mysql是否启动

[email protected]:/tmp/mysqldata$ ps -ef | grep mysqld
aiapple   4931  2146  0 22:32 pts/0    00:00:00 /bin/sh /usr/local/mysql55/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf
aiapple   5168  4931  0 22:32 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/tmp/mysqldata/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/aiapple.err --pid-file=/usr/local/mysql/data/aiapple.pid --socket=/tmp/mysql.sock --port=3306
aiapple   5187  4889  0 22:33 pts/13   00:00:00 grep --color=auto mysqld

使用mysqladmin工具关闭mysql服务

[email protected]:/usr/local/mysql$ mysqladmin -uroot --socket=/tmp/mysql.sock shutdown -p
Enter password:
160727 22:28:46 mysqld_safe mysqld from pid file /usr/local/mysql/data/aiapple.pid ended
[1]+  Done                    /usr/local/mysql55/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf  (wd: /usr/local/mysql/data)
(wd now: /usr/local/mysql)

检查是否关闭

[email protected]:/usr/local/mysql$ ps -ef | grep mysqld
aiapple   4918  2146  0 22:28 pts/0    00:00:00 grep --color=auto mysqld

2)更改my.cnf

#vim my.cnf(把55目录都改成56的)

3)使用mysql5.6启动软件;

#使用5.6拉起实例

[email protected]:/tmp/mysqldata$ /usr/local/mysql56/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf &
[1] 9121
[email protected]:/tmp/mysqldata$ 160806 21:29:11 mysqld_safe Logging to ‘/tmp/mysqldata/node1/aiapple.log‘.
160806 21:29:11 mysqld_safe Starting mysqld daemon with databases from /tmp/mysqldata/node1

#查看mysqld进程有没有起来

[email protected]:/tmp/mysqldata$ ps -ef | grep mysql
aiapple   9121  8547  0 21:29 pts/2    00:00:00 /bin/sh /usr/local/mysql56/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf
aiapple   9489  9121  0 21:29 pts/2    00:00:00 /usr/local/mysql56/bin/mysqld --defaults-file=/tmp/mysqldata/my.cnf --basedir=/usr/local/mysql56 --datadir=/tmp/mysqldata/node1 --plugin-dir=/usr/local/mysql56/lib/plugin --log-error=/tmp/mysqldata/node1/aiapple.log --pid-file=/tmp/mysqldata/node1/mysqld.pid --socket=/tmp/mysqldata/node1/mysql.sock --port=3306
aiapple   9564  8547  0 21:35 pts/2    00:00:00 grep --color=auto mysql

#登陆后查看mysql状态

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.6.32, for linux-glibc2.5 (x86_64) using  EditLine wrapper

Connection id:        3
Current database:
Current user:        [email protected]
SSL:            Not in use
Current pager:        stdout
Using outfile:        ‘‘
Using delimiter:    ;
Server version:        5.6.32-log MySQL Community Server (GPL)
Protocol version:    10
Connection:        Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:        /tmp/mysqldata/node1/mysql.sock
Uptime:            7 min 27 sec

Threads: 1  Questions: 5  Slow queries: 0  Opens: 32  Flush tables: 1  Open tables: 25  Queries per second avg: 0.011
--------------
 

4)升级库mysql_upgrade

[email protected]:/tmp/mysqldata$ /usr/local/mysql56/bin/mysql_upgrade -uroot --socket=/tmp/mysqldata/node1/mysql.sock -p
Enter password:
Looking for ‘mysql‘ as: /usr/local/mysql56/bin/mysql
Looking for ‘mysqlcheck‘ as: /usr/local/mysql56/bin/mysqlcheck
Running ‘mysqlcheck‘ with connection arguments: ‘--socket=/tmp/mysqldata/node1/mysql.sock‘
Warning: Using a password on the command line interface can be insecure.
Running ‘mysqlcheck‘ with connection arguments: ‘--socket=/tmp/mysqldata/node1/mysql.sock‘
Warning: Using a password on the command line interface can be insecure.
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.host                                         OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc                                         OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.servers                                      OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
Running ‘mysql_fix_privilege_tables‘...
Warning: Using a password on the command line interface can be insecure.
Running ‘mysqlcheck‘ with connection arguments: ‘--socket=/tmp/mysqldata/node1/mysql.sock‘
Warning: Using a password on the command line interface can be insecure.
Running ‘mysqlcheck‘ with connection arguments: ‘--socket=/tmp/mysqldata/node1/mysql.sock‘
Warning: Using a password on the command line interface can be insecure.
OK

#验证库有没有升级成功

[email protected]:/tmp/mysqldata$ /usr/local/mysql56/bin/mysql_upgrade -uroot --socket=/tmp/mysqldata/node1/mysql.sock -p
Enter password:
Looking for ‘mysql‘ as: /usr/local/mysql56/bin/mysql
Looking for ‘mysqlcheck‘ as: /usr/local/mysql56/bin/mysqlcheck
This installation of MySQL is already upgraded to 5.6.32, use --force if you still need to run mysql_upgrade

mysql多实例安装


  1. 部署好mysql软件
  2. 编辑多个配置文件,初始化多个实例
  3. 启动mysql实例

为啥多实例部署?

  • 充分利用系统资源
  • 资源隔离
  • 业务,模块隔离

多实例安装

#mkdir -p /mysqldata/node3

a) 初始化实例 使用脚本mysql_install_db

[email protected]:/tmp/mysqldata/node1$ /usr/local/mysql56/scripts/mysql_install_db --user=aiapple --basedir=/usr/local/mysql56 --datadir=/tmp/mysqldata/node3
#查看
[email protected]:/tmp/mysqldata/node1$ ls ../node3
ibdata1  ib_logfile0  ib_logfile1  mysql  performance_schema  test

b) 给node3配置文件

cp my2.cnf my3.cnf
vim my3.cnf(修改相关参数)
[client]
#password       = your_password
port            = 3308
socket          = /tmp/mysqldata/node3/mysql.sock

[mysqld_safe]
user=aiapple
ledir = /usr/local/mysql56/bin
#ledir = /usr/local/mysql55/bin
nice = 0
# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port            = 3308
socket          = /tmp/mysqldata/node3/mysql.sock
pid-file        = /tmp/mysqldata/node3/mysqld.pid
basedir         = /usr/local/mysql56
#basedir         = /usr/local/mysql55
datadir         = /tmp/mysqldata/node3
innodb_data_home_dir      = /tmp/mysqldata/node3
innodb_log_group_home_dir = /tmp/mysqldata/node3
tmpdir          = /tmp/mysqldata/node3
log-error       = /tmp/mysqldata/node3/aiapple.log
log-bin         = /tmp/mysqldata/node3/mysql-bin.log

c) 使用mysqld_safe,及my3.cnf拉起实例

[email protected]:/tmp/mysqldata/node3$ /usr/local/mysql56/bin/mysqld_safe --defaults-file=/tmp/mysqldata/node3/my3.cnf &
[2] 9861
[email protected]:/tmp/mysqldata/node3$ 160806 22:03:17 mysqld_safe Logging to ‘/tmp/mysqldata/node3/aiapple.log‘.
160806 22:03:17 mysqld_safe Starting mysqld daemon with databases from /tmp/mysqldata/node3

d)查看

[email protected]:/tmp/mysqldata/node3$ ps -ef | grep mysqld
aiapple   9121  8547  0 21:29 pts/2    00:00:00 /bin/sh /usr/local/mysql56/bin/mysqld_safe --defaults-file=/tmp/mysqldata/my.cnf
aiapple   9489  9121  0 21:29 pts/2    00:00:02 /usr/local/mysql56/bin/mysqld --defaults-file=/tmp/mysqldata/my.cnf --basedir=/usr/local/mysql56 --datadir=/tmp/mysqldata/node1 --plugin-dir=/usr/local/mysql56/lib/plugin --log-error=/tmp/mysqldata/node1/aiapple.log --pid-file=/tmp/mysqldata/node1/mysqld.pid --socket=/tmp/mysqldata/node1/mysql.sock --port=3306
aiapple   9861  8547  0 22:03 pts/2    00:00:00 /bin/sh /usr/local/mysql56/bin/mysqld_safe --defaults-file=/tmp/mysqldata/node3/my3.cnf
aiapple  10327  9861  0 22:03 pts/2    00:00:00 /usr/local/mysql56/bin/mysqld --defaults-file=/tmp/mysqldata/node3/my3.cnf --basedir=/usr/local/mysql56 --datadir=/tmp/mysqldata/node3 --plugin-dir=/usr/local/mysql56/lib/plugin --log-error=/tmp/mysqldata/node3/aiapple.log --pid-file=/tmp/mysqldata/node3/mysqld.pid --socket=/tmp/mysqldata/node3/mysql.sock --port=3308
aiapple  10350  8547  0 22:04 pts/2    00:00:00 grep --color=auto mysqld

可以看到有两个端口的mysqld,分别是3306,3308;

e) 登陆新实例,删除test库,空用户,设置root密码

[email protected]:/tmp/mysqldata/node3$ mysql -uroot --socket=/tmp/mysqldata/node3/mysql.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.32-log MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

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.

delete from msyql.user where user=‘‘;
delete from mysql.user where host<>‘localhost‘;
set password for [email protected]‘localhost‘=password(‘000000‘);
delete from mysql.db;
drop database test;
flush privileges;

mysql线上安装小结


  • 根据需求选择合适的版本以及分支,建议使用或升级到较高版本5.5或5.6
  • 如果需要定制mysql功能的话,可以考虑编译安装,否则的话建议使用二进制包安装,比较省事。
  • 根据机器配置选择部署多个mysql实例还是单个实例,机器配置非常好的话,建议部署多实例
时间: 2024-10-24 05:51:05

mysql二进制安装,升级,多实例部署的相关文章

LAMP环境部署:Apache源码安装+MySQL二进制安装+PHP源码安装+Nginx源码安装

Apache 版本:2.2.27 MySQL 版本:5.5.54-linux2.6-x86_64PHP 版本:5.3.27一.源码安装Apache1.首先安装上传工具2.上传LAMP环境所需安装包3.解压所有安装包4.安装Apache依赖包5.创建安装目录6.配置安装文件./configure \ #./configure 是用来生成Makefile文件用于编译安装 --prefix=/application/apache-2.2.27 \ #指定安装目录--enable-deflate \ #

mysql二进制安装启动的问题

二进制安装后,启动时出现问题(mysql安装在/application/msyql下): [[email protected] bin]# /etc/init.d/mysqld startStarting MySQL.170320 22:21:51 mysqld_safe The file /usr/local/mysql/bin/mysqlddoes not exist or is not executable. Please cd to the mysql installationdirec

mysql二进制安装的问题

二进制安装后,启动时出现问题(mysql安装在/application/msyql下): [[email protected] bin]# /etc/init.d/mysqld startStarting MySQL.170320 22:21:51 mysqld_safe The file /usr/local/mysql/bin/mysqlddoes not exist or is not executable. Please cd to the mysql installationdirec

Mysql二进制安装过程

Msyql介绍 MySQL是一个关系型数据库管理系统,由瑞典的MySQl AB公司开发,目前属于Oracle旗下公司.MySql是最流行的关系型数据库,在WEB应用方面Mysql是最好的RDBMS应用软件之一. Mysql关联的数据库将数据保存在不同的表中,这样增加了速度并提高了灵活性:使用SQL语言用于访问数据库的最常用标准化语言,它体积小,总体拥有成本地,开源等特点是中小型企业的首选. MySQL的安装 在Mysql官网下载稳定的社区版本.它的安装方式有yum 安装.二进制安装已经源码安装.

linux下mysql的安装以及多实例操作

一.linux系统基本信息 [[email protected] application]# cat /etc/redhat-release CentOS release 6.7 (Final) [[email protected] application]# uname -a Linux db01 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 二.mysql的安装

Tomcat安装以及多实例部署

1.简介 Tomcat 是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,  由 Apache.Sun 和其他一些公司及个人共同开发而成.Tomcat 技术先进.性能稳定,而且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器. 端口8080 2.安装 先安装环境变量jdk和apache-tomcat(jdk-8u144-linux-x64.rpm .apache-

MYSQL 二进制安装+XFS

1. 准备分区 yum install  xfsprogs [[email protected] yum.repos.d]# mkfs.xfs -f -i attr=2 -l lazy-count=1,sectsize=4096 -b size=4096 -d sectsize=4096 -L data /dev/sdb meta-data=/dev/sdb               isize=256    agcount=4, agsize=1966080 blks =          

MySQL二进制安装部署

1 #使用二进制包安装mysql 2 cp mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz /data/ 3 tar -xf /data/mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz -C /data/ 4 mv /data/mysql-5.6.29-linux-glibc2.5-x86_64 /data/mysql 5 6 #创建mysql数据存储目录 7 mkdir /data/mysqldata 8 9 #添加mys

Mysql二进制安装

Mysql安装 安装步骤 1.新建用户 groupadd mysql useradd -r -g mysql mysql cd /usr/local/----------------------------注意路径 chown -R mysql:mysql  mysql chmod -R 775  mysql 2.安装依赖包 yum install libai* -y yum install ncurses-devel -y yum -y install bison yum install zl