首页 > 代码库 > ubuntu 14.04安装压缩包版的mysql

ubuntu 14.04安装压缩包版的mysql

既有环境:

1)下载MySQL Community Server 5.6.17 压缩版(mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz)

2)安装目录: /opt/library/mysql-5.6.17-linux-glibc2.5-x86_64

3)软链接为/opt/library/mysql,指向同目录下的mysql-5.6.17-linux-glibc2.5-x86_64

 

1. 创建mysql专有的用户和组

?
1
2
$ sudo groupadd mysql
$ sudo useradd -r -g mysql mysql

2. 修改mysql文件夹及软链接的owner

?
1
2
$ sudo chown -R mysql:mysql mysql-5.6.17-linux-glibc2.5-x86_64/
$ sudo chown -R mysql:mysql mysql

3. 使用mysql_install_db初始化授权表。此操作只是在MySQL初次安装时才需要执行,如果是已存在的安装,则可以跳过此步骤,否则会覆盖先前的授权信息。

?
1
$ sudo scripts/mysql_install_db --user=mysql

4. 发现mysql_install_db执行有错误。看错误提示,原来是因为缺少共享库libaio1。

?
1
2
xuyuzhu@xuyuzhu-OptiPlex-990:/opt/library/mysql$ sudo scripts/mysql_install_db --user=mysql
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

5. 安装libaio1

?
1
$ sudo apt-get install libaio1

6. 重新执行第三步,以下是几行关键log

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Installing MySQL system tables...2014-05-15 14:43:47 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
 
.
.
创建第一张数据表、表大小、buffer、fk、log文件
.
Filling help tables...2014-05-15 14:43:52 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
 
.
.
ok
.
.
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
 
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
 
  ./bin/mysqladmin -u root password ‘new-password‘
  ./bin/mysqladmin -u root -h xuyuzhu-OptiPlex-990 password ‘new-password‘
 
Alternatively you can run:
 
  ./bin/mysql_secure_installation
 
which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.
 
See the manual for more instructions.
 
You can start the MySQL daemon with:
 
  cd . ; ./bin/mysqld_safe &
 
You can test the MySQL daemon with mysql-test-run.pl
 
  cd mysql-test ; perl mysql-test-run.pl
 
.
.

总结下:
1)support-files/mysql.server用于启动mysql
2)可用 mysqladmin 或 mysql_secure_installation 命令修改密码
3)可以使用"cd . ; ./bin/mysqld_safe &"配置mysql守护进程

7. 添加mysql启动脚本软链接

?
1
2
$ cd /etc/init.d/
$ sudo ln -s /opt/library/mysql/support-files/mysql.server

8. 启动mysql服务

?
1
2
3
4
5
xuyuzhu@xuyuzhu-OptiPlex-990:/etc/init.d$ ./mysql.server start
/etc/init.d/mysql.server: 1: /etc/init.d/mysql.server: my_print_defaults: not found
/etc/init.d/mysql.server: 276: cd: can‘t cd to /usr/local/mysql
Starting MySQL
 * Couldn‘t find MySQL server (/usr/local/mysql/bin/mysqld_safe)

9. 报错。因为mysql.server里读取mysql的目录是/user/local/mysql,所以在/user/local/中创建一个,mysql的软链接到/opt/library/mysql。再执行第8步。

?
1
2
3
4
5
$ ln -s /opt/library/mysql /usr/local/mysql
$ sudo chown mysql:mysql /usr/local/mysql
$ sudo ./mysql.server start   
# 上面必须使用sudo权限启动, 不然会报 . * The server quit without updating PID file (/usr/local/mysql/data/xuyuzhu-OptiPlex-990.pid).
Starting MySQL

10. ps检查进程

?
1
2
3
4
xuyuzhu@xuyuzhu-OptiPlex-990:/etc/init.d$ ps -aux |grep mysql
root       373  0.0  0.0   4444   744 pts/13   S    15:16   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/xuyuzhu-OptiPlex-990.pid
mysql      484  2.4 11.4 976004 448164 pts/13  Sl   15:16   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/xuyuzhu-OptiPlex-990.err --pid-file=/usr/local/mysql/data/xuyuzhu-OptiPlex-990.pid
xuyuzhu    511  0.0  0.0  15960   916 pts/13   S+   15:16   0:00 grep --color=auto mysql

11. mysqladmin检查是否可以使用mysql

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ mysqladmin version
mysqladmin  Ver 8.42 Distrib 5.6.17, for linux-glibc2.5 on x86_64
Copyright (c) 2000, 2014, 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.
 
Server version5.6.17
Protocol version10
ConnectionLocalhost via UNIX socket
UNIX socket/tmp/mysql.sock
Uptime:4 min 48 sec
 
Threads: 1  Questions: 2  Slow queries: 0  Opens: 67  Flush tables: 1  Open tables: 60  Queries per second avg: 0.006

12. 添加开机启动mysql服务守护进程

?
1
2
3
4
5
6
7
8
9
xuyuzhu@xuyuzhu-OptiPlex-990:/etc/init.d$ sudo update-rc.d mysql.server defaults
 Adding system startup for /etc/init.d/mysql.server ...
   /etc/rc0.d/K20mysql.server -> ../init.d/mysql.server
   /etc/rc1.d/K20mysql.server -> ../init.d/mysql.server
   /etc/rc6.d/K20mysql.server -> ../init.d/mysql.server
   /etc/rc2.d/S20mysql.server -> ../init.d/mysql.server
   /etc/rc3.d/S20mysql.server -> ../init.d/mysql.server
   /etc/rc4.d/S20mysql.server -> ../init.d/mysql.server
   /etc/rc5.d/S20mysql.server -> ../init.d/mysql.server

13. that’s all.

参考http://www.cnblogs.com/eastson/archive/2012/06/09/2543489.html